- 25 Oct, 2006 2 commits
-
-
unknown authored
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
-
unknown authored
If the error happens during DELETE IGNORE, nothing could be send to the client, thus leaving it frozen expecting the reply. The problem was that if some error occurred, it wouldn't be reported to the client because of IGNORE, but neither success would be reported. MySQL 4.1 would not freeze the client, but will report ERROR 1105 (HY000): Unknown error instead, which is also a bug. The solution is to report success if we are in DELETE IGNORE and some non-fatal error has happened. mysql-test/r/innodb_mysql.result: Add result for bug#18819: DELETE IGNORE hangs on foreign key parent delete. mysql-test/t/innodb_mysql.test: Add test case for bug#18819: DELETE IGNORE hangs on foreign key parent delete. sql/sql_delete.cc: Report success if we have got an error, but we are in DELETE IGNORE, and the error is not fatal (if it is, it would be reported to the client).
-
- 17 Oct, 2006 1 commit
-
-
unknown authored
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21726 sql/sql_select.cc: Auto merged
-
- 10 Oct, 2006 2 commits
-
-
unknown authored
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21354 mysql-test/r/ps.result: Manual merge. mysql-test/t/ps.test: Manual merge.
-
unknown authored
statement. The problem was that during statement re-execution if the result was empty the old result could be returned for group functions. The solution is to implement proper cleanup() method in group functions. mysql-test/r/ps.result: Add result for bug#21354: (COUNT(*) = 1) not working in SELECT inside prepared statement. mysql-test/t/func_gconcat.test: Add a comment that the test case is from bug#836. mysql-test/t/ps.test: Add test case for bug#21354: (COUNT(*) = 1) not working in SELECT inside prepared statement. sql/item_sum.cc: Call clear() in Item_sum_count::cleanup(). sql/item_sum.h: Add comments. Add proper cleanup() methods. Change Item_sum::no_rows_in_result() to call clear() instead of reset(), as the latter also issues add(), and there is nothing to add when there are no rows in result.
-
- 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.
-
- 03 Oct, 2006 1 commit
-
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-4.1-rt-merge sql/sql_select.cc: Auto merged
-
- 02 Oct, 2006 2 commits
- 29 Sep, 2006 3 commits
- 28 Sep, 2006 8 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 chilla.local:/home/mydev/mysql-4.1-bug22384 myisam/mi_delete.c: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines myisammrg/myrg_open.c: Auto merged mysql-test/r/merge.result: Manual merge. mysql-test/t/merge.test: Manual merge.
-
unknown authored
Crash may happen when selecting from a merge table that has underlying tables with less indexes than in a merge table itself. If number of keys in merge table is not bigger than requested key number, return error. myisammrg/myrg_open.c: Store min(number of keys) in m_info instead of number of keys in last underlying table. myisammrg/myrg_queue.c: Return error if inx passed to _myrg_init_queue function is not less than number of keys. mysql-test/r/merge.result: A test case for bug#21617. mysql-test/t/merge.test: A test case for bug#21617. mysys/queues.c: Replaced annoying ifndef DBUG_OFF with DBUG_ASSERT, fixed coding style. The problem was that having queue overrun in debug build was hidden with this ifdef.
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug20719-m
-
unknown authored
Deletes on a big index could crash the index when it needs to shrink. Put a forgotten negation operator in. No test case. It is too big for the test suite. And it does not work with 4.0, only with higher versions. It is attached to the bug report. myisam/mi_delete.c: Bug#22384 - DELETE FROM table causes "Incorrect key file for table" Put a negation operator ('!') before _mi_get_last_key() in del(). It returns NULL on error, non-NULL on success.
-
unknown authored
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt sql/sql_select.cc: Auto merged
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-4.1-runtime
-
- 27 Sep, 2006 6 commits
-
-
unknown authored
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
-
unknown authored
into chilla.local:/home/mydev/mysql-4.0-bug20719
-
unknown authored
After merge fix.
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug20719-m myisam/mi_dynrec.c: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.15428
-
- 25 Sep, 2006 3 commits
-
-
unknown authored
an ALL/ANY quantified subquery in HAVING. The Item::split_sum_func2 method should not create Item_ref for objects of any class derived from Item_subselect. mysql-test/r/subselect.result: Added a test case for bug #21853. mysql-test/t/subselect.test: Added a test case for bug #21853.
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.15428 myisam/mi_check.c: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.15428
-
- 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 3 commits
-
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-bug14400-monty myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Merge of after merge fix mysql-test/r/myisam.result: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Merge of after merge fix mysql-test/t/myisam.test: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Merge of after merge fix
-
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
-
- 22 Sep, 2006 3 commits
-
-
unknown authored
"concurrent insert" After merge fix.
-
unknown authored
into chilla.local:/home/mydev/mysql-4.0-bug14400 mysql-test/r/myisam.result: Auto merged myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge mysql-test/t/myisam.test: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge
-
unknown authored
into chilla.local:/home/mydev/mysql-4.0-bug14400 myisam/mi_rkey.c: Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" Manual merge
-
- 21 Sep, 2006 2 commits
- 20 Sep, 2006 2 commits
-
-
unknown authored
Any default value for a enum fields over UCS2 charsets was corrupted when we put it into the frm file, as it had been overwritten by its HEX representation. To fix it now we save a copy of structure that represents the enum type and when putting the default values we use this copy. mysql-test/r/ctype_ucs.result: Added a test case for bug #20108. mysql-test/t/ctype_ucs.test: Added a test case for bug #20108.
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge sql/sql_yacc.yy: Auto merged
-