diff options
author | unknown <guilhem@mysql.com> | 2004-03-08 14:47:13 +0100 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2004-03-08 14:47:13 +0100 |
commit | fd84865393dd45d89aa03d53d9c7a23303818975 (patch) | |
tree | e439202deb9c5709108ea9af38614de7ef51c91d /sql/log_event.cc | |
parent | 8cbfb5fb0cea1e9a2ec7e4ea52f36065774a88d3 (diff) | |
download | mariadb-git-fd84865393dd45d89aa03d53d9c7a23303818975.tar.gz |
Fix for BUG#3081 "if an INSERT DELAYED is killed, it is binlogged as killed but it's not needed".
INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
at least). So killing a delayed_insert thread does not spoil replication:
the rows which actually went into the table are exactly those listed
in the binlog. So when the delayed_insert thread is killed, don't log
it as 'killed', because it causes superfluous stops on the slave.
sql/log_event.cc:
INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
at least). So killing a delayed_insert thread does not spoil replication:
the rows which actually went into the table are exactly those listed
in the binlog. So when the delayed_insert thread is killed, don't log
it as 'killed', because it causes superfluous stops on the slave.
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index 603c8431b03..d2957165e77 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -820,7 +820,9 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg, ulong query_length, bool using_trans) :Log_event(thd_arg, 0, using_trans), data_buf(0), query(query_arg), db(thd_arg->db), q_len((uint32) query_length), - error_code(thd_arg->killed ? ER_SERVER_SHUTDOWN: thd_arg->net.last_errno), + error_code(thd_arg->killed ? + ((thd_arg->system_thread & SYSTEM_THREAD_DELAYED_INSERT) ? + 0 : ER_SERVER_SHUTDOWN) : thd_arg->net.last_errno), thread_id(thd_arg->thread_id), /* save the original thread id; we already know the server id */ slave_proxy_id(thd_arg->slave_proxy_id) |