- 27 Mar, 2009 13 commits
-
-
Staale Smedseng authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Staale Smedseng authored
-
Staale Smedseng authored
updates Attempt to execute trigger or stored function with multi-UPDATE which used - but didn't update - a table that was also used by the calling statement led to an error. Read-only reference to tables used in the calling statement should be allowed. This problem was caused by the fact that check for conflicting use of tables in SP/triggers was performed in open_tables(), and in case of multi-UPDATE we didn't know exact lock type at this stage. We solve the problem by moving this check to lock_tables(), so it can be performed after exact lock types for tables used by multi-UPDATE are determined. mysql-test/r/trigger.result: Results for the added test case is added. mysql-test/t/trigger.test: A new test case is added, verifying correct table multi-update conflict resolution, both read-only and write. sql/sql_base.cc: The check for conflicting use of tables in SP/triggers is moved to lock_tables(), to be performed after the exact lock types have been determined. Also, an assert is added to open_ltable() to ensure this func is not used in a prelocked context.
-
Alexey Kopytov authored
-
Alexey Kopytov authored
UNION could convert fixed-point FLOAT(M,D)/DOUBLE(M,D) columns to FLOAT/DOUBLE when aggregating data types from the SELECT substatements. While there is nothing particularly wrong with this behavior, especially when M is greater than the hardware precision limits, it could be confusing in cases when all SELECT statements in a union have the same FLOAT(M,D)/DOUBLE(M,D) columns with equal precision specifications listed in the same position. Since the manual is quite vague on what data type should be returned in such cases, the bug was fixed by implementing the most 'expected' behavior: do not convert FLOAT(M,D)/DOUBLE(M,D) to anything else if all SELECT statements in a UNION have the same precision for that column. mysql-test/r/union.result: Added a test case for bug #43432. mysql-test/t/union.test: Added a test case for bug #43432. sql/field.cc: Replaced FLT_DIG+6 and DBL_DIG+7 with a symbolic constant. sql/item.cc: Do not convert FLOAT(M,D)/DOUBLE(M,D) to anything else if all SELECT statements in a UNION have the same precision for that column. sql/mysql_priv.h: Added a symbolic constant for FLT_DIG+6 and DBL_DIG+7.
-
Ramil Kalimullin authored
-
Leonard Zhou authored
-
Ramil Kalimullin authored
Problem: commit doesn't delete savepoints if there are no changes in the transaction. Fix: delete them in such cases. mysql-test/r/innodb_mysql.result: Fix for bug #26288: savepoint not deleted, comit on empty transaction - test result. mysql-test/t/innodb_mysql.test: Fix for bug #26288: savepoint not deleted, comit on empty transaction - test case. sql/handler.cc: Fix for bug #26288: savepoint not deleted, comit on empty transaction - call transaction.cleanup() even if nht is 0 to delete possible savepoints.
-
Leonard Zhou authored
-
Leonard Zhou authored
-
- 26 Mar, 2009 4 commits
-
-
Davi Arnaut authored
The problem is that the read and write methods of the shared memory transport (protocol) didn't react to asynchornous close events, which could lead to a lock up as the client would wait (until time out) for a server response that will never come. The solution is to also wait for close events while waiting for I/O from or to the server. Bug report and patch submitted by: Armin Schöffmann
-
Davi Arnaut authored
The problem is that the read and write methods of the shared memory transport (protocol) didn't react to asynchronous close events, which could lead to a lock up as the client would wait (until time out) for a server response that will never come. The solution is to also wait for close events while waiting for I/O from or to the server. mysql-test/r/shm.result: Add test case result for Bug#33899 mysql-test/t/shm.test: Add test case for Bug#33899 vio/viosocket.c: Also wait for close events.
-
Leonard Zhou authored
When add an aliase name after NAME_CONST, the aliase name will be overwrite. NAME_CONST will re-set the field's name only if there isn't an aliase in the function fix-fields(). If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old name. mysql-test/r/func_misc.result: Test result. mysql-test/r/rpl_name_const.result: Test case. mysql-test/t/func_misc.test: Add NAME_CONST test. mysql-test/t/rpl_name_const.test: Test result. sql/item.cc: Re-set field's name if the name is autogenerated, that mean without aliase.
-
Leonard Zhou authored
-
- 25 Mar, 2009 18 commits
-
-
Ignacio Galarza authored
-
Ignacio Galarza authored
-
Alexander Nozdrin authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Chad MILLER authored
-
Satya B authored
-
Satya B authored
-
Leonard Zhou authored
-
Satya B authored
-
Satya B authored
After the table is compressed by the myisampack utility, opening the table by the server produces valgrind warnings. This happens because when we try to read a record into the buffer we alway assume that the remaining buffer to read is always equal to word size(4 or 8 or 2 bytes) we read. Sometimes we have remaining buffer size less than word size and trying to read the entire word size will end up in valgrind errors. Fixed by reading byte by byte when we detect the remaining buffer size is less than the word size. myisam/mi_packrec.c: Fixed fill_buffer() to read byte by byte when the remaining buffer size is less than word size. mysql-test/r/myisampack.result: Result file for BUG#41541 mysql-test/t/myisampack.test: Testcase for BUG#41541
-
Alexey Kopytov authored
-
Leonard Zhou authored
-
Leonard Zhou authored
-
Alexey Kopytov authored
expired timeout on debx86-b in PB Turned off general log when importing DB dump in the test case for bug #41486 due to the bug in CSV engine code that makes logging long SQL query too slow. mysql-test/r/mysql-bug41486.result: Turned off general log when importing DB dump in the test case for bug #41486 due to the bug in CSV engine code that makes logging long SQL query too slow. mysql-test/t/mysql-bug41486.test: Turned off general log when importing DB dump in the test case for bug #41486 due to the bug in CSV engine code that makes logging long SQL query too slow.
-
Leonard Zhou authored
Reset master before next test. mysql-test/suite/rpl/r/rpl_timezone.result: Test result. mysql-test/suite/rpl/t/rpl_timezone.test: Reset master before next test.
-
- 24 Mar, 2009 5 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
expired timeout on debx86-b in PB Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test. mysql-test/include/wait_until_disconnected.inc: Used in mysql-bug41486.test. mysql-test/r/mysql-bug41486.result: Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test. mysql-test/r/mysql.result: Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test. mysql-test/t/mysql-bug41486.test: Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test. mysql-test/t/mysql.test: Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test.
-