summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2010-07-27 14:25:53 +0400
committerKonstantin Osipov <kostja@sun.com>2010-07-27 14:25:53 +0400
commitec2c3bf2c1c27e4401c767a6cdcb3172453ff42c (patch)
treedaa2c75e6ac3ede954eb788e81dd95c711da1569 /sql/slave.cc
parentc67cf159e928fe63582a4233d130dada0f866cb7 (diff)
downloadmariadb-git-ec2c3bf2c1c27e4401c767a6cdcb3172453ff42c.tar.gz
A pre-requisite patch for the fix for Bug#52044.
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.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index d41d0479dde..a6199854e48 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -3044,7 +3044,6 @@ err:
change_rpl_status(RPL_ACTIVE_SLAVE,RPL_IDLE_SLAVE);
DBUG_ASSERT(thd->net.buff != 0);
net_end(&thd->net); // destructor will not free it, because net.vio is 0
- close_thread_tables(thd);
mysql_mutex_lock(&LOCK_thread_count);
THD_CHECK_SENTRY(thd);
delete thd;