- 09 Dec, 2008 7 commits
-
-
Leonard Zhou authored
mysql-test/mysql-test-run.pl: Remove tmp-directory on MTR start
-
Alexey Botchkov authored
-
Sergey Glukhov authored
reset diagnostics area state after error message is sent mysql-test/r/myisampack.result: test result mysql-test/t/myisampack.test: test case sql/sql_table.cc: reset diagnostics area state after error message is sent
-
Alexey Botchkov authored
modifying the original fix. As it turned out --fix-db-names option of the mysqlcheck suppress the --check_upgrade option, so we have to call the mysqlcheck twice from the mysql_upgrade. per-file comments: client/mysql_upgrade.c Bug#35934 mysql_upgrade calls mysqlcheck with insufficient parameters
-
Alexey Kopytov authored
-
Alexey Kopytov authored
The reason for the failures was bug #21205 (fixed in 6.0 by dtoa, but still present in 5.0/5.1). mysql-test/r/type_float.result: Modified the failing test case so that bug #21205 does not occur. mysql-test/t/type_float.test: Modified the failing test case so that bug #21205 does not occur.
-
Andrei Elkin authored
-
- 08 Dec, 2008 20 commits
-
-
Andrei Elkin authored
binlog_row_mix_innodb_myisam resutls are corrected. The last operations prior the dup error is TRUNCATE table t2; Therefore after --error ER_DUP_ENTRY INSERT INTO t2 select * from t1; table t2 must be empty, and that is what the updated results confirm. mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: results changed due to Bug #33420 fixing.
-
Andrei Elkin authored
-
Chad MILLER authored
-
Vladislav Vaintroub authored
-
Mattias Jonsson authored
-
Andrei Elkin authored
Extending bug#40221 regression test: 1. include INSERT 2. convert prim key + autoinc to unique. mysql-test/suite/binlog/r/binlog_innodb_row.result: results changed. mysql-test/suite/binlog/t/binlog_innodb_row.test: Extending bug#40221 regression test to include the INSERT dup key errored-out case.
-
Andrei Elkin authored
-
Andrei Elkin authored
-
Mattias Jonsson authored
-
Mats Kindahl authored
-
Alexey Kopytov authored
-
Alexey Botchkov authored
-
Alexey Kopytov authored
-
Alexey Botchkov authored
-
Mats Kindahl authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 07 Dec, 2008 1 commit
-
-
Alexey Kopytov authored
-
- 05 Dec, 2008 3 commits
-
-
Vladislav Vaintroub authored
The problem appears often in conjuction with temp files, when temp-pool is used, so that names of temp files are not unique. The reason is that rapid deletiion and creation of fiiles with the same name on Windows is not guaranteed to succeed. File disappears from the file system only when the last handle to it is closed. If for example a virus scanner, a backup or indexing application opens the temp file just before MySQL deletes it, the file will enter "delete pending" state. In this state,it is not possible to open the file , or create a file with the same name (CreateFile returns ERROR_ACCESS_DENED, posix open returns EACESS) Fix (rather a cheap workarounf) is not to use temp-pool when working with temporary files- this will make filenames unique. With this patch , temp- pool setting will be ignored on anything but Linux(the option only made sense for Linux since its invention anyway).
-
Georgi Kodinov authored
-
Mats Kindahl authored
Uncommited changes are replicated and stay on slave after rollback on master Making test slightly more generic and robust. mysql-test/suite/rpl/t/rpl_trigger.test: Adding code to check that InnoDB is available on slave as well. Making code slightly more generic.
-
- 04 Dec, 2008 2 commits
-
-
Vladislav Vaintroub authored
The problem here is that embedded server starts handle_thread manager thread on mysql_library_init() does not stop it on mysql_library_end(). At shutdown, my_thread_global_end() waits for thread count to become 0, but since we did not stop the thread it will give up after 5 seconds. Solution is to move shutdown for handle_manager thread from kill_server() (mysqld specific) to clean_up() that is used by both embedded and mysqld. This patch also contains some refactorings - to avoid duplicate code, start_handle_manager() and stop_handle_manager() functions are introduced. Unused variables are eliminated. handle_manager does not rely on global variable abort_loop anymore to stop (abort_loop is not set for embedded). Note: Specifically on Windows and when using DBUG version of libmysqld, the complete solution requires removing obsolete code my_thread_init() from my_thread_var(). This has a side effect that a DBUG statement after my_thread_end() can cause thread counter to be incremented, and embedded will hang for some seconds. Or worse, my_thread_init() will crash if critical sections have been deleted by the global cleanup routine that runs in a different thread. This patch also fixes and revert prior changes for Bug#38293 "Libmysqld crash in mysql_library_init if language file missing". Root cause of the crash observed in Bug#38293 was bug in my_thread_init() described above client/mysql.cc: sql_protocol_typelib is not exported from libmysqld (does not make sense either) thus excluded from embedded client dbug/dbug.c: revert changes for Bug#38293 include/my_dbug.h: revert changes for Bug#38293 libmysql/libmysql.c: Removed DBUG_POP call, because when called after my_end(), will access THR_key_mysys that is already deleted. The result of pthread_get_specific is not predictable in this case and hence DBUG_POP can crash. libmysqld/examples/CMakeLists.txt: Revert changes for Bug#38293. libmysqld/lib_sql.cc: code to start handle manager is factored out into start_handle_manager() function libmysqld/libmysqld.def: Revert changes for Bug #38293 Remove excessive exports from libmysqld, export what API documents. mysys/my_thr_init.c: Remove windows-DLL-specific workaround for something (old code, no documentation for what specifically). The problem is that even after my_thread_end() is finished, DBUG statement can initiate my_thread_init(). This does not happen anywhere else and should not happen on Windows either. sql/mysql_priv.h: - new functions start_handle_manager() and stop_handle_manager() - move manager_thread_in_use variable to sql_manager.cc and made it static - remove manager_status, as it is unused sql/mysqld.cc: Code to start/stop handle_manager thread is factored out into start_handle_manager()
-
Andrei Elkin authored
Bug #41173 rpl_packet fails sporadically on pushbuild: query 'DROP TABLE t1' failed The both issues appeared to be a race between the SQL thread executing CREATE table t1 and the IO thread that is expected to stop at the consequent big size event. The two events need serialization which is implemented. The early bug required back-porting a part fixes for bug#38350 exclusively for 5.0 version. mysql-test/r/rpl_packet.result: results changed due to bug#33420, bug#41173. mysql-test/t/rpl_packet.test: adding synchronization for sql and io thread (bug#41173 problem). simplifying the output to show only a relevant info (5.0 sole problem bug#33420).
-
- 03 Dec, 2008 3 commits
-
-
Mats Kindahl authored
after rollback on master When starting a transaction with a statement containing changes to both transactional tables and non-transactional tables, the statement is considered as non-transactional and is therefore written directly to the binary log. This behaviour was present in 5.0, and has propagated to 5.1. If a trigger containing a change of a non-transactional table is added to a transactional table, any changes to the transactional table is "tainted" as non-transactional. This patch solves the problem by removing the existing "hack" that allows non-transactional statements appearing first in a transaction to be written directly to the binary log. Instead, anything inside a transaction is treaded as part of the transaction and not written to the binary log until the transaction is committed. mysql-test/suite/rpl/t/rpl_row_create_table.test: Removing positions from SHOW BINLOG EVENTS and using reset_master_and_slave to start on a fresh binary log each time. mysql-test/suite/rpl/t/rpl_slave_skip.test: Adding explicit commit in AUTOCOMMIT=0 to make test work correctly. mysql-test/suite/rpl/t/rpl_trigger.test: Adding test case for BUG#40116. sql/log.cc: Changing commit logic in binlog_commit() to only commit when committing a real transaction or committing a punch transaction.
-
Alexey Kopytov authored
bigint' fails on windows. Visual Studio does not take into account some x86 hardware limitations which leads to incorrect results when converting large DOUBLE values to BIGINT UNSIGNED ones. Fixed by adding a workaround for double->ulonglong conversion on Windows. include/config-win.h: Added double2ulonglong(double) function implementing a workaround for broken double->ulonglong conversion on Windows/x86. include/my_global.h: Define double2ulonglong() as a simple typecast for anything but Windows. mysql-test/r/type_float.result: Added a test case for bug #27483. mysql-test/t/type_float.test: Added a test case for bug #27483.
-
unknown authored
-
- 02 Dec, 2008 4 commits
-
-
Andrei Elkin authored
A transaction could result in having an extra event after a query that errored e.g because of a dup key. Such a query is rolled back in innodb, as specified, but has not been in binlog. It appeares that the binlog engine did not always register for a query (statement) because the previous query had not reset at its statement commit time. Because of that fact there was no roll-back to the trx_data->before_stmt_pos position and a the pending event of the errorred query could become flushed to the binlog file. Fixed with deploying the reset of trx_data->before_stmt_pos at the end of the query processing. mysql-test/suite/binlog/r/binlog_innodb_row.result: a new test file to contain tests dealing with binlogging innodb with the row-based format. mysql-test/suite/binlog/t/binlog_innodb_row.test: a new test file to contain tests dealing with binlogging innodb with the row-based format. sql/log.cc: Flushing the pending row event at binlog_end_trans() is moved down to the commit branch. Resetting of trx_data->before_stmt_pos to the uninitialized value at the end of the statement is implemented in binlog_commit() and binlog_rollback(). Asserting emptiness the transaction cache after reset() and the uninitilized value for the statement's savepoint binlog position.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
There was a missing initialization. sql/set_var.h: Added an initialization missing during the merge of 37339.
-
Georgi Kodinov authored
with non-RSA-requesting client if server uses RSA key matchSuite() may not find a match. It will return error in this case. Added a error checking code that will prevent using uninitialized memory in the code based on the assumption that matchSuite() has found a match. extra/yassl/src/yassl_imp.cpp: Bug #39178: Correct error checking added
-