Pavel Ivanov <piva...@google.com> writes: > fixes. Meanwhile I've found one more bug in your code. In > Gtid_log_event::do_apply_event() you assume that mysql_parse() always > succeeds, you don't check thd->is_error() and always return 0. I don't
Ah, right, I see. Can you test the appended patch if it fixes the problem? I tried to copy the error handling to be identical to what Query_log_event::do_apply_event("BEGIN") does. - Kristian.
=== modified file 'sql/log_event.cc' --- a/sql/log_event.cc 2013-03-25 11:25:47 +0000 +++ b/sql/log_event.cc 2013-03-25 11:28:17 +0000 @@ -6235,12 +6235,15 @@ /* Finalize server status flags after executing a statement. */ thd->update_server_status(); log_slow_statement(thd); - general_log_write(thd, COM_QUERY, thd->query(), thd->query_length()); + if (unlikely(thd->is_fatal_error)) + thd->is_slave_error= 1; + else if (likely(!thd->is_slave_error)) + general_log_write(thd, COM_QUERY, thd->query(), thd->query_length()); } thd->reset_query(); free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC)); - return 0; + return thd->is_slave_error; }
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp