- 06 Oct, 2006 1 commit
-
-
unknown authored
Note: bug#21726 does not directly apply to 4.1, as it doesn't have stored procedures. However, 4.1 had some bugs that were fixed in 5.0 by the patch for bug#21726, and this patch is a backport of those fixes. Namely, in 4.1 it fixes: - LAST_INSERT_ID(expr) didn't return value of expr (4.1 specific). - LAST_INSERT_ID() could return the value generated by current statement if the call happens after the generation, like in CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT); INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID()); - Redundant binary log LAST_INSERT_ID_EVENTs could be generated. mysql-test/r/rpl_insert_id.result: Add result for bug#21726: Incorrect result with multiple invocations of LAST_INSERT_ID. mysql-test/t/rpl_insert_id.test: Add test case for bug#21726: Incorrect result with multiple invocations of LAST_INSERT_ID. sql/item_func.cc: Add implementation of Item_func_last_insert_id::fix_fields(), where we set THD::last_insert_id_used when statement calls LAST_INSERT_ID(). In Item_func_last_insert_id::val_int(), return THD::current_insert_id if called like LAST_INSERT_ID(), otherwise return value of argument if called like LAST_INSERT_ID(expr). sql/item_func.h: Add declaration of Item_func_last_insert_id::fix_fields(). sql/log_event.cc: Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT. Though we know the statement will call LAST_INSERT_ID(), it wasn't called yet. sql/set_var.cc: In sys_var_last_insert_id::value_ptr(), set THD::last_insert_id_used, and return THD::current_insert_id for @@LAST_INSERT_ID. sql/sql_class.h: Update comments. Remove THD::insert_id(), as it has lost its purpose now. sql/sql_insert.cc: Now it is OK to read THD::last_insert_id directly. sql/sql_load.cc: Now it is OK to read THD::last_insert_id directly. sql/sql_parse.cc: In mysql_execute_command(), remember THD::last_insert_id (first generated value of the previous statement) in THD::current_insert_id, which then will be returned for LAST_INSERT_ID() and @@LAST_INSERT_ID. sql/sql_select.cc: If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value, which is THD::current_insert_id, and also set THD::last_insert_id_used to issue binary log LAST_INSERT_ID_EVENT. sql/sql_update.cc: Now it is OK to read THD::last_insert_id directly. tests/mysql_client_test.c: Add test case for bug#21726: Incorrect result with multiple invocations of LAST_INSERT_ID.
-
- 28 Sep, 2006 2 commits
-
-
unknown authored
create_tmp_table()". The fix for bug 21787 "COUNT(*) + ORDER BY + LIMIT returns wrong result" introduced valgrind warnings which occured during execution of information_schema.test and sp-prelocking.test in version 5.0. There were no user visible effects. The latter fix made create_tmp_table() dependant on THD::lex::current_select value. Valgrind warnings occured when this function was executed and THD::lex::current_select member pointed to uninitialized SELECT_LEX instance. This fix tries to remove this dependancy by moving some logic outside of create_tmp_table() function. sql/sql_select.cc: create_tmp_table(): Moved code which is responsible for determining if optimization which pushes down LIMIT clause to temporary table creation is applicable out of this function. Such move made this function independant of THD::lex::current_select value and removed valgrind warnings which occured in cases when this member pointed to uninitialized SELECT_LEX object (particularly these warnings occured in sp-prelocking.test and information_schema.test in 5.0). This seems like a better solution than trying to force this pointer always to point to relevant select because: - In some cases when we use create_tmp_table() there are no relevant SELECT_LEX object (we use it just to create temporary table/object). - There is only one place in code where we call this funciton and where this optimization can be enabled. And in this place we already have some logic which tries to determine if it is applicable.
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-4.1-runtime
-
- 27 Sep, 2006 1 commit
-
-
unknown authored
-
- 24 Sep, 2006 1 commit
-
-
unknown authored
Filter out plain -O and Sun C/C++ style optimization flags, -xO<level> Filter out icc specific options from cflags/libs(_r) scripts/mysql_config.sh: Filter out plain -O and Sun C/C++ style optimization flags, -xO<level>
-
- 23 Sep, 2006 2 commits
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge BitKeeper/etc/ignore: auto-union mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge BitKeeper/etc/ignore: auto-union mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged sql/sql_select.cc: Auto merged
-
- 21 Sep, 2006 2 commits
- 20 Sep, 2006 2 commits
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge sql/sql_yacc.yy: Auto merged
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400-monty BitKeeper/etc/ignore: auto-union mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged sql/sql_select.cc: Auto merged
-
- 19 Sep, 2006 1 commit
-
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400-monty BitKeeper/etc/ignore: auto-union include/my_global.h: Auto merged myisam/mi_rkey.c: Manual null merge as a better fix is already present. mysql-test/r/myisam.result: Manual null merge as a better fix is already present. mysql-test/t/myisam.test: Manual null merge as a better fix is already present. sql/sql_select.cc: Manual merge of purify improvements.
-
- 18 Sep, 2006 2 commits
- 15 Sep, 2006 3 commits
-
-
unknown authored
into macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt mysql-test/r/subselect.result: merge of 4.1-opt mysql-test/t/subselect.test: merge of 4.1-opt sql/opt_range.h: merge of 4.1-opt
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400 myisam/mi_rkey.c: Auto merged
-
unknown authored
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
-
- 14 Sep, 2006 4 commits
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
"concurrent insert" After merge fix.
-
unknown authored
into moonbone.local:/work/21677-bug-4.1-opt-mysql
-
unknown authored
Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN mysql-test/t/type_date.test: Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN mysql-test/r/type_date.result: Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN
-
- 12 Sep, 2006 2 commits
-
-
unknown authored
Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377 query_cache.result: Corrected a test case after removing a fix for bug#16377 mysql-test/r/query_cache.result: Corrected a test case after removing a fix for bug#16377 sql/item_cmpfunc.cc: Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400 mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge
-
- 11 Sep, 2006 1 commit
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
- 08 Sep, 2006 1 commit
-
-
unknown authored
VALUES() was considered a constant. This caused replacing (or pre-calculating) it using uninitialized values before the actual execution takes place. Mark it as a non-constant (still not dependent of tables) to prevent the pre-calculation. mysql-test/r/insert_update.result: Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES - test case. - EXPLAIN output changed due to VALUES() not being considered a constant anymore mysql-test/t/insert_update.test: Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES - test case. sql/item.h: Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES - mark Item_insert_value as non-constant to prevent early calculation.
-
- 07 Sep, 2006 3 commits
-
-
unknown authored
Corrected test case after removal of fix for bug#16377 type_date.test: Corrected test case after removal of fix for bug#16377 item_cmpfunc.cc: Removed changes to the agg_cmp_type() made in the for bug#16377 mysql-test/t/type_date.test: Corrected test case after removal of fix for bug#16377 mysql-test/t/func_time.test: Corrected test case after removal of fix for bug#16377 mysql-test/r/type_date.result: Corrected test case after removal of fix for bug#16377 mysql-test/r/query_cache.result: Corrected test case after removal of fix for bug#16377 mysql-test/r/func_time.result: Corrected test case after removal of fix for bug#16377 sql/item_cmpfunc.cc: Removed changes to the agg_cmp_type() made in the for bug#16377
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400 myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge from 4.0 mysql-test/r/myisam.result: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge from 4.0 mysql-test/t/myisam.test: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge from 4.0
-
unknown authored
"concurrent insert" Additional fix for full keys and test case. myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Additional fix for full keys. mysql-test/r/myisam.result: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Additional results. mysql-test/t/myisam.test: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Additional test case.
-
- 05 Sep, 2006 3 commits
-
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B16792-4.1-opt mysql-test/r/subselect.result: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B21392-4.1-opt sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
- 04 Sep, 2006 4 commits
-
-
unknown authored
1003: Incorrect table name in multi-table DELETE the set of tables to delete from actually references then tables in the other list, e.g: DELETE alias_of_t1 FROM t1 alias_of_t1 WHERE .... is a valid statement. So we must turn off table name syntactical validity check for alias_of_t1 because it's not a table name (even if it looks like one). In order to do that we add a special flag (TL_OPTION_ALIAS) to disable the name checking for the aliases in multi-table DELETE. mysql-test/r/delete.result: Bug #21392: multi-table delete with alias table name fails with 1003: Incorrect table name - test case mysql-test/t/delete.test: Bug #21392: multi-table delete with alias table name fails with 1003: Incorrect table name - test case sql/mysql_priv.h: Bug #21392: multi-table delete with alias table name fails with 1003: Incorrect table name - add a special flag to disable the name checking for the aliases in multi-table DELETE sql/sql_parse.cc: Bug #21392: multi-table delete with alias table name fails with 1003: Incorrect table name - add a special flag to disable the name checking for the aliases in multi-table DELETE sql/sql_yacc.yy: Bug #21392: multi-table delete with alias table name fails with 1003: Incorrect table name - add a special flag to disable the name checking for the aliases in multi-table DELETE
-
unknown authored
Fix an error in the bug fix. sql/sql_select.cc: Use a local variable to iterate over group items, since 'group' is used later in a condition.
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb sql/log.cc: Auto merged
-
unknown authored
fix deadlock if master switches log file in parallell with "show master logs" sql/log.cc: add raw_get_current_log which dont take log mutex sql/sql_class.h: add raw_get_current_log which dont take log mutex sql/sql_repl.cc: Fix lock order i.e first log_lock then index_lock
-
- 01 Sep, 2006 5 commits
-
-
unknown authored
into lamia.home:/home/timka/mysql/src/4.1-bug-21787 sql/sql_select.cc: Auto merged
-
unknown authored
The problem was due to a prior fix for BUG 9676, which limited the rows stored in a temporary table to the LIMIT clause. This optimization is not applicable to non-group queries with aggregate functions. The fix disables the optimization in this case. mysql-test/r/limit.result: Test case for BUG#21787 mysql-test/t/limit.test: Test case for BUG#21787 sql/sql_select.cc: If there is an aggregate function in a non-group query, materialize all rows in the temporary table no matter if there is a LIMIT clause. This is necessary, since the aggregate functions must be computed over all result rows, not just the first LIMIT rows.
-
unknown authored
- Dont test "encrypt" in ctype_ucs mysql-test/r/ctype_ucs.result: Don't test "encrypt" function in ctype_ucs.test mysql-test/t/ctype_ucs.test: Don't test "encrypt" function in ctype_ucs.test
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
-
unknown authored
into shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
-