Commit graph

48 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
igor@rurik.mysql.com
9ee6e8c147 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-07-31 04:29:34 -07:00
igor@rurik.mysql.com
620f865cbb null_key.result, null_key.test:
Modified test case for bug #12144.
2005-07-31 04:28:01 -07:00
igor@rurik.mysql.com
64e53ec5c4 Manual merge 2005-07-28 21:28:20 -07:00
igor@rurik.mysql.com
f503c4152d null_key.test, null_key.result:
Made the test case for bug #12144 independent on other tests.
2005-07-28 17:53:51 -07:00
igor@rurik.mysql.com
dbec0c6e95 null_key.test, null_key.result:
Modified the test case for patch of the bug #12144
  to display status of Handler_read_next before and
  after the tested query.
2005-07-28 16:04:47 -07:00
igor@rurik.mysql.com
bcbde8af22 sql_select.cc:
Fixed bug #12144.
  Added an optimization that avoids key access with null keys for the 'ref'
  method when used in outer joins. The regilar optimization with adding
  IS NOT NULL expressions is not applied for outer join on expressions as
  the predicates of these expressions are not pushed down in 4.1.
null_key.result, null_key.test:
  Added a test case for bug #12144.
2005-07-28 13:31:15 -07:00
monty@mishka.local
be4ca46fbe More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
2004-10-02 22:20:08 +03:00
monty@mysql.com
f2829d0386 After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
2004-09-09 06:59:26 +03:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
sergefp@mysql.com
f874071a26 Range optimizer fix:
If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) <  cost(full_table_scan)
  use full_scan_on_shortest_covering_index
(before this fix best_range_scan was used)
2004-06-22 04:47:28 +04:00
paul@ice.snake.net
fd1d01e098 Language/consistency edits to error messages
and affected test results.
2004-06-15 22:18:20 -05:00
monty@mysql.com
7e3cf5958c Fixed crashing bug with alter table when table was in use (Bug #3643)
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
2004-05-05 12:31:17 +03:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +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
monty@narttu.mysql.fi
f763d4c31d Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
2003-11-04 14:09:03 +02:00
monty@narttu.mysql.fi
d9ff665102 Fixes after merge 2003-10-08 12:01:58 +03:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
monty@mashka.mysql.fi
dbebed97e4 Remove FORCE_INIT_OF_VARS when compiling for valgrind/purify to spot wrong LINT_INIT() options
Fixed bug in ALTER TABLE ... MODIFY integer-column
Added ref_or_null optimization (needed for subqueries)
2003-06-30 13:23:54 +03:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03: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
venu@myvenu.com
72196c9b16 Updated warning test
Updated all tests to catchup warnings for all field conversions
2003-04-30 00:07:37 -07:00
monty@narttu.mysql.fi
f6a43bd567 Fixes for valgrind
Added optimzation for clustered index
Fixed bug in UPDATE ... ORDER BY
Fixed handling of UPDATE ... LIMIT
2003-04-23 21:52:16 +03: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
monty@mashka.mysql.fi
5dbea1b7a2 Merge with 4.0 2002-11-25 12:19:28 +02:00
monty@mashka.mysql.fi
7dede8d303 Updated results after merge from 3.23 2002-11-24 21:39:22 +02:00
monty@mashka.mysql.fi
a976101661 merge with 3.23 to get bugfixes for <=> NULL and --bind-address 2002-11-24 16:37:41 +02:00
monty@mashka.mysql.fi
e1af5fb24d Fixed bug with indexed NULL column <=> NULL
Fix for Mac OS X shutdown
2002-11-22 13:35:43 +02:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
monty@mashka.mysql.fi
5343d4c969 Added --skip-safemalloc to mysqltest
Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x
Small change in EXCHANGE output
Propagate open-files-limit from mysqld_safe -> mysqld
Fixed speed bug in GROUP BY
Added quotes around database name in CREATE DATABASE db_name (for binary log)
2002-10-29 22:56:30 +02:00
monty@hundin.mysql.fi
3476dc8f9e Merge hundin.mysql.fi:/my/mysql-4.0 into hundin.mysql.fi:/my/mysql-4.1 2002-10-16 19:31:22 +03:00
monty@hundin.mysql.fi
fbf6ab4465 merge with 4.0.5 2002-10-16 19:30:24 +03:00
monty@hundin.mysql.fi
a54df74af0 Fixes after last merge.
Ignore changed keyblocks when on does DELETE FROM table_name;
2002-10-16 19:05:10 +03:00
monty@hundin.mysql.fi
67d3cd643b Merge with 3.23.54 2002-10-16 13:11:25 +03:00
monty@hundin.mysql.fi
68963e91b2 Fixed a bug in key optimizing handling where the expression
WHERE column_name = key_column_name was calculated as true
for NULL values.
2002-10-14 17:04:12 +03:00
bell@sanja.is.com.ua
2883c3a8cc fixing EXPLAIN select types 2002-10-03 18:47:04 +03:00
bell@sanja.is.com.ua
46a22a5be7 new EXPLAIN
fixed bug in mysql-test/create-test-result
fixed bug in union-subselect engine
2002-09-26 23:08:22 +03:00
monty@hundin.mysql.fi
69f6802632 merge 2001-11-28 14:52:11 +02:00
monty@hundin.mysql.fi
66a31433a4 Fixed bug when joining with caching.
Fixed race condition when using the binary log and INSERT DELAYED which could cause the binary log to have rows that was not yet written to MyISAM tables.
2001-11-27 02:50:20 +02:00
sasha@mysql.sashanet.com
69b9d6f2f6 post-merge fixes 2001-10-03 15:19:58 -06:00
sasha@mysql.sashanet.com
bb66c80aeb client/mysqlmanagerc.c
added support for quiet
    increased line buffer size
client/mysqltest.c
    fixed memory leak
    added query logging to result file
    added error message logging to result file
    added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh
    converted tests to use mysqlmanager

Updated test results
2001-09-27 23:05:54 -06:00
monty@hundin.mysql.fi
a4bc23add6 Fixed bug in counting open files when using many files
Fixed bug in JOIN
2001-09-27 22:02:37 +03:00
monty@donna.mysql.fi
9ee2a297c0 Fixes for embedded MySQL
Some limit optimization
2001-04-25 01:11:29 +03:00
monty@donna.mysql.fi
3c82d4a2e1 Fixed bug with UPDATE/DELETE on UNIQUE key which could be NULL 2001-04-10 11:32:28 +03:00
monty@donna.mysql.fi
e829e96dbc Patch from sleepycat to fix problem with BDB and log files
Print full command name to log files
Convert table type to supported onces on ALTER TABLE
2001-03-06 20:38:53 +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