Commit graph

44 commits

Author SHA1 Message Date
timour@mysql.com
e040300393 WL#2486 - natural and using join according to SQL:2003
* Provide backwards compatibility extension to name resolution of
  coalesced columns. The patch allows such columns to be qualified
  with a table (and db) name, as it is in 4.1.
  Based on a patch from Monty.

* Adjusted tests accordingly to test both backwards compatible name
  resolution of qualified columns, and ANSI-style resolution of
  non-qualified columns.
  For this, each affected test has two versions - one with qualified
  columns, and one without.
2005-08-23 18:08:04 +03:00
timour@mysql.com
a247282aa6 Implementation of WL#2486 -
"Process NATURAL and USING joins according to SQL:2003".

* Some of the main problems fixed by the patch:
  - in "select *" queries the * expanded correctly according to
    ANSI for arbitrary natural/using joins
  - natural/using joins are correctly transformed into JOIN ... ON
    for any number/nesting of the joins.
  - column references are correctly resolved against natural joins
    of any nesting and combined with arbitrary other joins.

* This patch also contains a fix for name resolution of items
  inside the ON condition of JOIN ... ON - in this case items must
  be resolved only against the JOIN operands. To support such
  'local' name resolution, the patch introduces a stack of
  name resolution contexts used at parse time.

NOTICE:
- This patch is not complete in the sense that
  - there are 2 test cases that still do not pass -
    one in join.test, one in select.test. Both are marked
    with a comment "TODO: WL#2486".
  - it does not include a new test specific for the task
2005-08-12 17:57:19 +03:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
jimw@mysql.com
b95cb4e654 Merge 2005-04-05 19:45:34 -07:00
joreland@mysql.com
5d967c6603 Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-5.0
2005-01-27 10:31:45 +01:00
igor@rurik.mysql.com
7d34849e6e order_by.result, order_by.test:
Added test case for bug #7672 that existed only in 4.0.
2005-01-25 23:13:36 -08:00
timour@mysql.com
bb77b2e55f Fix for BUG#7331 merged manually from 4.1. 2005-01-17 17:19:33 +02:00
jimw@mysql.com
01ddc370f0 Enable warnings for 'no default' fields being set to default when they
are not specified in an insert. Most of these changes are actually to
clean up the test suite to either specify defaults to avoid warnings,
or add the warnings to the results. Related to bug #5986.
2005-01-14 17:09:35 -08:00
timour@mysql.com
a8f8433c9d Fix for BUG#7331.
The problem was that when a QUICK_SELECT access method is chosen,
test_if_skip_sort_order() discovered that the index being used
by the quick select will not deliver tuples in sorted order.
In this case test_if_skip_sort_order() tried to change the index
used by the quick select, but it didn't properly set the other
members of the quick select, and especially the range flags of
the ranges in QUICK_SELECT::ranges.

The fix re-invokes the function SQL_SELECT::test_quick_select
to correctly create a valid QUICK_SELECT object.
2005-01-06 10:49:26 +02:00
serg@serg.mylan
831c02463c order by group_func 2004-11-25 17:02:44 +01:00
dlenev@brandersnatch.localdomain
0aa589d099 Final solution for bug# 4302 "Ambiguos order by when renamed column is
identical to another in result"
According to SQL standard queries like 
"select t1.a as col from t1, t2 order by a" should return an error if
both tables contain field a.
2004-09-30 16:28:17 +04:00
ram@gw.mysql.r18.ru
4139e73c37 A fix (Bug #5428 small max_sort_length crash server). 2004-09-07 13:33:35 +05:00
dlenev@brandersnatch.localdomain
c8882165f3 Fix for bug#4302 "ambiguos order by when renamed column is identical to another in result"
When in find_item_in_list() we are looking for item we should take into account unaliased 
names of the fields but only if item with such aliased name is not found.
Also we should ignore aliases when looking for fully specified field.
2004-08-20 17:53:46 +04:00
serg@serg.mylan
da63a927f2 bad old merge fixed 2004-05-15 11:20:42 +02:00
monty@mysql.com
f602829c75 Fix to get correct metadata when using temporary tables to create result. (Bug #2654) 2004-03-30 19:24:28 +03:00
monty@mysql.com
4bc6b551f8 false/true -> FALSE/TRUE
Fixes after last merge
2004-03-30 02:32:41 +03:00
monty@mysql.com
dc2f606fb8 Merge with 4.0 to get lastest bug fixes 2004-03-29 19:21:53 +03:00
Sinisa@sinisa.nasamreza.org
09d26f0ff6 order_by.result:
result of the test case for FORCE INDEX on ORDER BY
order_by.test:
  test case for FORCE INDEX on ORDER BY
sql_select.cc:
  Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
2004-03-26 17:01:13 +02:00
ram@gw.mysql.r18.ru
bdd70d1cfd Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
(thankee Monty)
2004-03-17 18:43:58 +04:00
ram@gw.mysql.r18.ru
6fab168a63 fix for the bug #2419: order by ignores rows.
null_ref_key moved to TABLE_REF.
new null range created if necessary.
2004-01-31 10:04:16 +04:00
monty@mysql.com
0279dc4234 Portability fixes found during 5.0 test compilation
Fixed bug in ORDER BY on a small column (Bug #2147)
Fixed error from pthread_mutex_destroy() when one had wrong errmsg file
2003-12-21 19:39:32 +02:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
serg@serg.mylan
3b49d34f97 merged 2003-11-28 12:49:58 +01:00
serg@serg.mylan
16e5b4f0ba bug #1945. item(expression)->name=0, crash in find_item_in_list 2003-11-28 12:36:45 +01:00
monty@mashka.mysql.fi
6aa8929cf3 After merge fixes
Added initialization of all important global variables
2003-05-21 21:39:58 +03:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
igor@hundin.mysql.fi
b6534b667f filesort.cc, order_by.result:
Fixed bug 263
order_by.test:
  Fixed bug 263
2003-04-26 14:54:53 +03:00
monty@mashka.mysql.fi
3bed7a6131 Merge with 4.0.13 2003-03-26 18:37:38 +02:00
jani@hynda.(none)
a7f632d7a8 Changed some tests to pass with new auto_increment handling,
e.g. default value is not accepted with auto_increment anymore.
2003-03-22 20:34:20 +02:00
monty@mashka.mysql.fi
b14b246d38 Merge with 4.0 to get fix for MIN/MAX 2003-02-07 16:38:37 +02:00
monty@mashka.mysql.fi
cf9668fd37 Added START TRANSACTION syntax
Added ALL as parameter option for all group functions.
Make join handling uniform. This allows us to use ',', JOIN and INNER JOIN the same way.
Sort NULL last if DESC is used (ANSI SQL 99 requirement)
2003-02-06 16:55:59 +02:00
ram@mysql.r18.ru
4df915a7b5 fixed order_by test to make it repeatable 2003-01-09 14:35:01 +04:00
ram@mysql.r18.ru
30e15bbb6c Merge rkalimullin@work.mysql.com:/home/bk/mysql-4.1
into mysql.r18.ru:/usr/home/ram/work/mysql-4.1
2003-01-08 11:53:09 +04:00
monty@mashka.mysql.fi
1f6ecc0cd3 Changed mysql-test to print warnings for not existing table to DROP TABLE
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
2003-01-06 01:48:59 +02:00
ram@mysql.r18.ru
a7ef436bc4 Optimization of key usage (ORDER BY) (SCRUM) 2003-01-04 14:59:52 +04:00
monty@hundin.mysql.fi
e8c77e16dc Fix of newly introduced bug in ORDER BY when one has a constant in the select list. 2002-09-24 21:23:56 +03:00
sasha@mysql.sashanet.com
f6836bf81a merged 2001-08-09 19:16:15 -06:00
monty@tik.mysql.fi
1731161ff4 Fixed optimizer bug in ORDER BY where some ORDER BY parts where ignored.
Extended default arguments to be up to 4095 characters
2001-07-30 22:49:39 +03:00
monty@hundin.mysql.fi
f0dc189227 Fix ORDER BY ... DESC optimization 2001-06-29 04:04:29 +03:00
tim@white.box
5ed2cf7dbe Implement ORDER BY DESC optimization, which reads values in descending
order directly from the index instead of using a filesort.
2001-06-28 03:06:23 -04:00
sasha@mysql.sashanet.com
a2b6410965 untested changes to close socket on slave stop for OS's that do not
interrupt I/O after thr_alarm_kill()

test case for order by desc coredump
2001-03-12 20:17:32 -07:00
monty@donna.mysql.com
e05df20dc5 Fixed gethostname_r tests to be more portable 2001-01-01 14:17:10 +02:00
monty@donna.mysql.com
c0f40d14cc Added support for hex strings to mysqlimport
A lot of new tests to mysqltest
Fixed bug with BDB tables and autocommit
2000-12-28 03:56:38 +02:00