- 27 Jul, 2010 1 commit
-
-
Konstantin Osipov authored
This patch also fixes Bug#55452 "SET PASSWORD is replicated twice in RBR mode". The goal of this patch is to remove the release of metadata locks from close_thread_tables(). This is necessary to not mistakenly release the locks in the course of a multi-step operation that involves multiple close_thread_tables() or close_tables_for_reopen(). On the same token, move statement commit outside close_thread_tables(). Other cleanups: Cleanup COM_FIELD_LIST. Don't call close_thread_tables() in COM_SHUTDOWN -- there are no open tables there that can be closed (we leave the locked tables mode in THD destructor, and this close_thread_tables() won't leave it anyway). Make open_and_lock_tables() and open_and_lock_tables_derived() call close_thread_tables() upon failure. Remove the calls to close_thread_tables() that are now unnecessary. Simplify the back off condition in Open_table_context. Streamline metadata lock handling in LOCK TABLES implementation. Add asserts to ensure correct life cycle of statement transaction in a session. Remove a piece of dead code that has also become redundant after the fix for Bug 37521.
-
- 26 Jul, 2010 1 commit
-
-
Dmitry Lenev authored
table copy". This patch only adds test case as the bug itself was addressed by Ramil's fix for bug 50946 "fast index creation still seems to copy the table".
-
- 23 Jul, 2010 1 commit
-
-
Jon Olav Hauglid authored
The first problem was that SHOW CREATE TRIGGER took a stronger metadata lock than required. This caused the statement to be blocked when it was not needed. For example, LOCK TABLE WRITE in one connection would block SHOW CREATE TRIGGER in another connection. Another problem was that a SHOW CREATE TRIGGER statement issued inside a transaction did not release its metadata locks at the end of the statement execution. This happened even if SHOW CREATE TRIGGER is an information statement. The consequence was that SHOW CREATE TRIGGER was able to block other connections from accessing the table (e.g. using ALTER TABLE). This patch fixes the problem by changing SHOW CREATE TRIGGER to take a MDL_SHARED_HIGH_PRIO metadata lock similar to what is already done for SHOW CREATE TABLE. The patch also changes SHOW CREATE TRIGGER to explicitly release any metadata locks taken by the statement after it completes. Test case added to show_check.test.
-
- 22 Jul, 2010 3 commits
-
-
Davi Arnaut authored
-
Jon Olav Hauglid authored
concurrent SHOW CREATE The problem was that a SHOW CREATE TABLE statement issued inside a transaction did not release its metadata locks at the end of the statement execution. This happened even if SHOW CREATE TABLE is an information statement. The consequence was that SHOW CREATE TABLE was able to block other connections from accessing the table (e.g. using ALTER TABLE). This patch fixes the problem by explicitly releasing any metadata locks taken by SHOW CREATE TABLE after the statement completes. Test case added to show_check.test.
-
Jon Olav Hauglid authored
The problem was that a statement could cause an assert if it was aborted by KILL QUERY while it waited on a metadata lock. This assert checks that a statement either sends OK or an error to the client. If the bug was triggered on release builds, it caused OK to be sent to the client instead of ER_QUERY_INTERRUPTED. The root cause of the problem was that there are two separate ways to tell if a statement is killed: thd->killed and mysys_var->abort. KILL QUERY causes both to be set, thd->killed before mysys_var->abort. Also, both values are reset at the end of statement execution. This means that it is possible for KILL QUERY to first set thd->killed, then have the killed statement reset both thd->killed and mysys_var->abort and finally have KILL QUERY set mysys_var->abort. This means that the connection with the killed statement will start executing the next statement with the two values out of sync - i.e. thd->killed not set but mysys_var->abort set. Since mysys_var->abort is used to check if a wait for a metadata lock should be aborted, the next statement would immediately abort any such waiting. When waiting is aborted, no OK message is sent and thd->killed is checked to see if ER_QUERY_INTERRUPTED should be sent to the client. But since the->killed had been reset, neither OK nor an error message was sent to the client. This then triggered the assert. This patch fixes the problem by changing the metadata lock waiting code to check thd->killed. No test case added as reproducing the assert is dependent on very exact timing of two (or more) threads. The patch has been checked using RQG and the grammar posted on the bug report.
-
- 19 Jul, 2010 1 commit
-
-
Jon Olav Hauglid authored
-
- 17 Jul, 2010 2 commits
-
-
Davi Arnaut authored
Post-merge fix: remove leftovers from safemalloc removal.
-
Andrei Elkin authored
-
- 16 Jul, 2010 20 commits
-
-
Davi Arnaut authored
-
Andrei Elkin authored
applying bundle made for next-mr-bugfixing to trunk-bugfixing branch of the bug
-
Andrei Elkin authored
applying bundle made for next-mr-bugfixing to trunk-bugfixing branch of the bug
-
Davi Arnaut authored
-
Davi Arnaut authored
Bug#47139: Test "merge" crashes in "embedded" run Backport patch for Bug#47139
-
Georgi Kodinov authored
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Georgi Kodinov authored
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Ramil Kalimullin authored
-
Ramil Kalimullin authored
of the "embedded" server Problem: mysqltest_embedded failed to load ha_innodb_plugin library on some platforms (due to some unresolved references). Fix: on FreeBSD use -export-dynamic flag building mysqltest_embedded. That allows to use its global symbols to resolve references in the dynamically loaded plugin library.
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backport from mysql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
Backporting the fix from myql-next-mr (5.6) to mysql-trunk (5.5)
-
Marc Alff authored
This fix is for cleanup, to resolve a remaining code review item. Backport from mysql-next-mr (5.6) to mysql-trunk (5.5).
-
- 15 Jul, 2010 11 commits
-
-
Marc Alff authored
Fixed minor merge issues with #includes
-
Davi Arnaut authored
Post-merge fix: adjust line numbers in pfs_upgrade test case result given that mysql_system_tables_fix.sql was modified.
-
Davi Arnaut authored
mysql_config. Those are mainly warning options intended to monitor the server code and shouldn't be leaked to client code.
-
Davi Arnaut authored
Silence bogus aliasing warning through a pointer indirection. Also, no need to check the return of a placement new.
-
Davi Arnaut authored
Restore hack necessary to setup a libmysqld archive.
-
Davi Arnaut authored
-
Davi Arnaut authored
Fix compiler warnings due to: a mismatch in the prototypes for check_access and implicit conversions from double to ulonglong and vice-versa.
-
Georgi Kodinov authored
-
Davi Arnaut authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-