- 10 Apr, 2009 1 commit
-
-
Narayanan V authored
In some circumstances, when a table is created with the IBMDB2I engine, the CREATE TABLE statement will return successfully but the table will not exist. The current patch addresses the above issue and causes CREATE to fail and report and error to the user. storage/ibmdb2i/ha_ibmdb2i.cc: Locally declared return code hid function- scoped declaration and went out of scope before being returned. Removed inner declaration.
-
- 09 Apr, 2009 19 commits
-
-
Davi Arnaut authored
Bug#44091: libmysqld gets stuck waiting on mutex on initialization The problem was that libmysqld wasn't enforcing a certain initialization and deinitialization order for the mysys library. Another problem was that the global object used for management of log event handlers (aka LOGGER) wasn't being prepared for a possible reutilization. What leads to the hang/crash reported is that a failure to load the language file triggers a double call of the cleanup functions, causing an already destroyed mutex to be used. The solution is enforce a order on the initialization and deinitialization of the mysys library within the libmysqld library and to ensure that the global LOGGER object reset it's internal state during cleanup. mysys/my_init.c: Deinitialize only if initialized already. sql/log.cc: Reset state.
-
Luis Soares authored
Note: empty changeset.
-
Luis Soares authored
routine does not exist There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It would be nice or at least consistent if DROP PROCEDURE/STATEMENT worked the same too. Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to mysql_bin_log.write in mysql_execute_command. Checked also if all documented "DROP (...) IF EXISTS" get binlogged. NOTE: This is a 5.0 backport patch as requested by support. mysql-test/r/rpl_drop_if_exists.result: Result file for test case added. mysql-test/r/rpl_sp.result: Updated result file for existing test case that has now extra events in binary log (the ones from drop if exists procedure/function). mysql-test/t/rpl_drop_if_exists.test: Added test case for asserting validity of proposed patch. sql/sql_parse.cc: Added call mysql_bin_log.write when lex has drop_if_exists enabled for stored procedures.
-
Narayanan V authored
-
Sergey Glukhov authored
-
Sergey Glukhov authored
-
Sergey Glukhov authored
-
Sergey Glukhov authored
-
He Zhenxing authored
-
Sergey Glukhov authored
The crash happens due to wrong 'digits' variable value(0), 'digits' can not be 0, so the fix is use 1 as min allowed value. mysql-test/r/insert.result: test result mysql-test/t/insert.test: test case sql/field.cc: The crash happens due to wrong 'digits' variable value(0), 'digits' can not be 0, so the fix is use 1 as min allowed value.
-
He Zhenxing authored
-
Narayanan V authored
-
Narayanan V authored
Currently the memory map is being created with a size that is greater than the size of the underlying datafile. This can cause varying behaviour, e.g. In windows the size of the datafile is increased, while on linux it remains the same. This fix removes the increment margin to the size that is used while creating the memory map. storage/myisam/mi_dynrec.c: remove MEMMAP_EXTRA_MARGIN that is used as the increment margin to the underlying datafile size while creating the mmap. storage/myisam/mi_packrec.c: The size of the underlying datafile is increased by MEMMAP_EXTRA_MARGIN when using a packed record format. Hence in this case the size of the memory map should be incremented by the same factor.
-
Anurag Shekhar authored
-
Anurag Shekhar authored
-
He Zhenxing authored
-
He Zhenxing authored
-
He Zhenxing authored
-
He Zhenxing authored
Binlog the CREATE EVENT unless the created event been successfully dropped Modified Query_log_event constructor to make sure that error_code is not set to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED errors when NOT_KILLED sql/events.cc: binlog the create event unless it's been successfully dropped sql/log_event.cc: Modified Query_log_event constructor to make sure that error_code is not set to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED errors when NOT_KILLED
-
- 08 Apr, 2009 8 commits
-
-
He Zhenxing authored
-
He Zhenxing authored
-
He Zhenxing authored
-
Alfranio Correia authored
The result set for multi-row statements is not the same between STMT and RBR and among different versions. Thus to avoid test failures, we are not printing out such result sets. Note, however, that this does not have impact on coverage and accuracy since the execution is able to continue without further issues when an error is found on the master and such error is set to be skipped.
-
Anurag Shekhar authored
While printing the Max keyfile length 'llstr' call was used which was treating the max_key_file_length as negative. Changing this to ullstr fixes the problem. myisamchk output will differ in 32 bit and 64 bit Operating systems so its not possible to have test case for this bug. myisam/myisamchk.c: Replaced llstr by ullstr, while converting share->base.max_key_file_length-1 to string.
-
Alfranio Correia authored
-
He Zhenxing authored
-
Narayanan V authored
The conformance checker was not taking into account, and, making concessions for acceptable incompatibilites in tables created by versions earlier than 4.1. The current patch relaxes the conformance checker to ignore differences in key_alg and language for tables created by versions earlier than 4.1. storage/myisam/ha_myisam.cc: Modify check_definition to ignore differences in key_alg and language for tables created by versions earlier than 4.1.
-
- 07 Apr, 2009 5 commits
-
-
Satya B authored
-
Satya B authored
-
Satya B authored
-
Satya B authored
The test started failing following the push for BUG#41541. Some of the algorithms access bytes beyond the input data and this can affect up to one byte less than "word size" which is BITS_SAVED / 8. Fixed by adding (BITS_SAVED / 8) -1 bytes to buffer size (i.e. Memory Segment #2) to avoid accessing un-allocated data. myisam/mi_packrec.c: Fixed _mi_read_pack_info() method to allocate (BITS_SAVED/8) - 1 bytes to the Memory Segment #2 mysql-test/r/myisampack.result: Result file for BUG#43973 mysql-test/t/myisampack.test: Testcase for BUG#43973
-
Alexander Barkov authored
The patch was originally proposed by Mikael and reviewed by Bar.
-
- 06 Apr, 2009 2 commits
-
-
Satya B authored
-
Alfranio Correia authored
-
- 05 Apr, 2009 1 commit
-
-
Alfranio Correia authored
RBR was not considering the option --slave-skip-errors. To fix the problem, we are reporting the ignored ERROR(s) as warnings thus avoiding stopping the SQL Thread. Besides, it fixes the output of "SHOW VARIABLES LIKE 'slave_skip_errors'" which was showing nothing when the value "all" was assigned to --slave-skip-errors. @sql/log_event.cc skipped rbr errors when the option skip-slave-errors is set. @sql/slave.cc fixed the output of for SHOW VARIABLES LIKE 'slave_skip_errors'" @test-cases fixed the output of rpl.rpl_idempotency updated the test case rpl_skip_error
-
- 03 Apr, 2009 4 commits
-
-
Serge Kozlov authored
1. Test case was rewritten completely. 2. Test covers 3 cases: a) do deadlock on slave, wait retries of transaction, unlock slave before lock timeout; b) do deadlock on slave and wait error 'lock timeout exceed' on slave; c) same as b) but if of max relay log size = 0; 3. Added comments inline. 4. Updated result file.
-
Davi Arnaut authored
-
Davi Arnaut authored
The problem is that a SELECT .. FOR UPDATE statement might open a table and later wait for a impeding global read lock without noticing whether it is holding a table that is being waited upon the the flush phase of the process that took the global read lock. The same problem also affected the following statements: LOCK TABLES .. WRITE UPDATE .. SET (update and multi-table update) TRUNCATE TABLE .. LOAD DATA .. The solution is to make the above statements wait for a impending global read lock before opening the tables. If there is no impending global read lock, the statement raises a temporary protection against global read locks and progresses smoothly towards completion. Important notice: the patch does not try to address all possible cases, only those which are common and can be fixed unintrusively enough for 5.0. mysql-test/r/lock_multi.result: Add test case result for Bug#43230 mysql-test/t/lock_multi.test: Add test case for Bug#43230 sql/sql_lex.cc: Initialize flag. sql/sql_lex.h: Add a flag to the lexer. sql/sql_parse.cc: Wait for the global read lock is a write lock is going to be taken. The wait is done before opening tables. sql/sql_yacc.yy: Protect against the GRL if its a SELECT .. FOR UPDATE or LOCK TABLES .. WRITE statement.
-
Guangbao Ni authored
-