On Mon, Mar 25, 2013 at 4:30 AM, Kristian Nielsen <knielsen@knielsen-hq.org> wrote:
Pavel Ivanov <pivanof@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.
Yes, this patch works. And I've found two more minor changes that should be done in GTID support: gcc -O2 complains that err in slave_connection_state::remove() in sql/rpl_gtid.cc is assigned but never used (it's used only in DBUG_ASSERT). Also it complains that error_gtid in mysql_binlog_send in sql/sql_repl.cc can be used uninitialized (I see that it can't but it breaks build with -Werror). Pavel