summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorHe Zhenxing <zhenxing.he@sun.com>2009-03-27 13:19:50 +0800
committerHe Zhenxing <zhenxing.he@sun.com>2009-03-27 13:19:50 +0800
commit51a91166387760546d563ebf72bfa037fcff24a8 (patch)
treec64191bf0f499c4e0d6b020460f019c04f7dc2e8 /sql/item_func.cc
parentf606cfeae3f934b4e6864693994ed80b7f2631ef (diff)
downloadmariadb-git-51a91166387760546d563ebf72bfa037fcff24a8.tar.gz
BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053
When the thread executing a DDL was killed after finished its execution but before writing the binlog event, the error code in the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED. This patch fixed the problem by ignoring the kill status when constructing the event for DDL statements. This patch also included the following changes in order to provide the test case. 1) modified mysqltest to support variable for connection command 2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to run mysql client against the slave mysqld.
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 47e16a1bcc3..e7e75ecd020 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -3377,6 +3377,10 @@ longlong Item_master_pos_wait::val_int()
}
#ifdef EXTRA_DEBUG
+/**
+ This will release the user lock that the thread currently locked,
+ please see also the comment of DEBUG_SYNC_POINT.
+*/
void debug_sync_point(const char* lock_name, uint lock_timeout)
{
THD* thd=current_thd;