- 28 Apr, 2006 3 commits
-
-
unknown authored
into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
-
unknown authored
into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
-
unknown authored
In the code that converts IN predicates to EXISTS predicates it is changing the select list elements to constant 1. Example : SELECT ... FROM ... WHERE a IN (SELECT c FROM ...) is transformed to : SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM ... HAVING a = c) However there can be no FROM clause in the IN subquery and it may not be a simple select : SELECT ... FROM ... WHERE a IN (SELECT f(..) AS c UNION SELECT ...) This query is transformed to : SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM (SELECT f(..) AS c UNION SELECT ...) x HAVING a = c) In the above query c in the HAVING clause is made to be an Item_null_helper (a subclass of Item_ref) pointing to the real Item_field (which is not referenced anywhere else in the query anymore). This is done because Item_ref_null_helper collects information whether there are NULL values in the result. This is OK for directly executed statements, because the Item_field pointed by the Item_null_helper is already fixed when the transformation is done. But when executed as a prepared statement all the Item instances are "un-fixed" before the recompilation of the prepared statement. So when the Item_null_helper gets fixed it discovers that the Item_field it points to is not fixed and issues an error. The remedy is to keep the original select list references when there are no tables in the FROM clause. So the above becomes : SELECT ... FROM ... WHERE EXISTS (SELECT c FROM (SELECT f(..) AS c UNION SELECT ...) x HAVING a = c) In this way c is referenced directly in the select list as well as by reference in the HAVING clause. So it gets correctly fixed even with prepared statements. And since the Item_null_helper subclass of Item_ref_null_helper is not used anywhere else it's taken out. mysql-test/r/ps_11bugs.result: Test case for the bug mysql-test/r/subselect.result: Explain updated because of the tranformation mysql-test/t/ps_11bugs.test: Testcase for the bug sql/item.cc: Taking out Item_null_helper as it's no longer needed sql/item.h: Taking out Item_null_helper as it's no longer needed sql/item_subselect.cc: The described change to the IN->EXISTS transformation
-
- 27 Apr, 2006 2 commits
- 26 Apr, 2006 9 commits
-
-
unknown authored
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
-
unknown authored
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
-
unknown authored
mysql-test/r/innodb_mysql.result: Fix result.
-
unknown authored
Use files innodb_mysql.[test|result] instead. mysql-test/t/innodb.test: This file is to be used by Innobase only. mysql-test/r/innodb_mysql.result: New BitKeeper file ``mysql-test/r/innodb_mysql.result'' Use this file instead of innodb.result. mysql-test/t/innodb_mysql.test: New BitKeeper file ``mysql-test/t/innodb_mysql.test'' Use this file instead of innodb.test.
-
unknown authored
-
- 25 Apr, 2006 4 commits
-
-
unknown authored
(based on the fact that packet is ALWAYS \0 terminated, see my_net_read)
-
unknown authored
-
unknown authored
(reported by Stefano Di Paola)
-
unknown authored
Handle early abort of scan, so that resources are correctly freed ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Handle early abort ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Handle early abort so that require on running.empty() does not fire
-
- 24 Apr, 2006 6 commits
-
-
unknown authored
mysql-test/mysql-test-run.pl: Fix typo.
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
unknown authored
into mysql.com:/data0/knielsen/mysql-4.1-mtr-fix
-
unknown authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b17896
-
unknown authored
into polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
-
unknown authored
myisam_ftdump options: --help first, then rest in lexical order. myisam/myisam_ftdump.c: myisam_ftdump options: --help first, then rest in lexical order.
-
- 23 Apr, 2006 3 commits
-
-
unknown authored
accounting non-ai32 in tmpkeyval. This changeset is supposed to be specifically for 4.1. Another changeset is going to push into 5. sql/sql_base.cc: correction due to uint4korr definition: can not sizeof on not ia32.
-
unknown authored
Backporting a changeset made for 5.0. Comments from there: The fix refines the algorithm of generating DROPs for binlog. Temp tables with common pseudo_thread_id are clustered into one query. Consequently one replication event per pseudo_thread_id is generated. mysql-test/r/rpl_temporary.result: results changed mysql-test/t/rpl_temporary.test: test to generate problematic drop in binlog to feed it to restarting slave to see no stop. sql/sql_base.cc: change in drop temprorary tables alg in close_temporary_tables.
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-4.1
-
- 21 Apr, 2006 5 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1
-
unknown authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b18643
-
unknown authored
- after review fixes sql/item_cmpfunc.cc: Bug #17896: MIN of CASE WHEN returns non-minimum value! - after review fixes.
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
-
unknown authored
The bug caused wrong result sets for union constructs of the form (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2. For such queries order lists were concatenated and limit clause was completely neglected. mysql-test/r/order_by.result: Added a test case for bug #18767. mysql-test/t/order_by.test: Added a test case for bug #18767. sql/sql_lex.h: Fixed bug #18767. Placed the code the created a fake SELECT_LEX into a separate function. sql/sql_parse.cc: Fixed bug #18767. Placed the code the created a fake SELECT_LEX into a separate function. sql/sql_select.cc: Fixed bug #18767. Changed the condition on which a SELECT is treated as part of a UNION. The SELECT in (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 now is handled in the same way as the first SELECT in a UNION sequence. sql/sql_union.cc: Fixed bug #18767. Changed the condition at which a SELECT is treated as part of a UNION. The SELECT in (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 now is handled in the same way as the first SELECT in a UNION sequence. sql/sql_yacc.yy: Fixed bug #18767. Changed the condition at which a SELECT is treated as part of a UNION. The SELECT in (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 now is handled in the same way as the first SELECT in a UNION sequence. In the same way is handled the SELECT in (SELECT ... LIMIT n) ORDER BY order list. Yet if there is neither ORDER BY nor LIMIT in the single-select union construct (SELECT ...) ORDER BY order_list then it is still handled as simple select with an order clause.
-
- 20 Apr, 2006 3 commits
-
-
unknown authored
Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section" Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS output. Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID". Refuse tables that use reserved column names. innobase/dict/dict0dict.c: Applied innodb-4.1-ss22 snapshot. dict_foreign_error_report(): Always print a newline after invoking dict_print_info_on_foreign_key_in_create_format() (Bug#16814). Refuse tables that use reserved column names (Bug#18934). innobase/dict/dict0mem.c: Applied innodb-4.1-ss22 snapshot. Refuse tables that use reserved column names (Bug#18934). innobase/include/dict0dict.h: Applied innodb-4.1-ss22 snapshot. Refuse tables that use reserved column names (Bug#18934). innobase/include/dict0mem.h: Applied innodb-4.1-ss22 snapshot. Refuse tables that use reserved column names (Bug#18934). innobase/include/univ.i: Applied innodb-4.1-ss22 snapshot. innobase/row/row0mysql.c: Applied innodb-4.1-ss22 snapshot. Refuse tables that use reserved column names (Bug#18934).
-
unknown authored
into production.mysql.com:/usersnfs/mleich/src
-
unknown authored
Clean up test case for bug#14169 mysql-test/t/func_gconcat.test: Clean up test case for bug#14169
-
- 19 Apr, 2006 5 commits
-
-
unknown authored
Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol. mysql-test/r/func_gconcat.result: Added DROP TABLE command to the test case for bug 14169.
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-2
-
unknown authored
into moonbone.local:/work/14169-bug-4.1-mysql
-
unknown authored
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode. mysql-test/r/func_gconcat.result: Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
-
unknown authored
- Eval shrext_cmds variable before using it acinclude.m4: eval the shrext_cmds variable before using it. This is the same fix as in ltmain.sh which has a comment describing how this works on Darwin. The bug describes it as not working for openSSL but as the same syntax and variable is used for zlib it has to be fixed there as well.
-