diff options
author | unknown <knielsen@knielsen-hq.org> | 2013-07-09 13:15:53 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2013-07-09 13:15:53 +0200 |
commit | 6d5f237e091ca7aa4fdd52c186af11fffc80b1c2 (patch) | |
tree | e0328cf45705b6957195f51e5f37510935b3674c /sql/sql_binlog.cc | |
parent | a99356fbe72fbca61617edabc5a8928da4343c96 (diff) | |
download | mariadb-git-6d5f237e091ca7aa4fdd52c186af11fffc80b1c2.tar.gz |
MDEV-4506: Parallel replication: Intermediate commit.
Fix a number of failures in the test suite.
Diffstat (limited to 'sql/sql_binlog.cc')
-rw-r--r-- | sql/sql_binlog.cc | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/sql/sql_binlog.cc b/sql/sql_binlog.cc index bef9a4c3475..df6aab88200 100644 --- a/sql/sql_binlog.cc +++ b/sql/sql_binlog.cc @@ -44,7 +44,6 @@ void mysql_client_binlog_statement(THD* thd) { - struct rpl_group_info *rgi; DBUG_ENTER("mysql_client_binlog_statement"); DBUG_PRINT("info",("binlog base64: '%*s'", (int) (thd->lex->comment.length < 2048 ? @@ -100,6 +99,7 @@ void mysql_client_binlog_statement(THD* thd) const char *error= 0; char *buf= (char *) my_malloc(decoded_len, MYF(MY_WME)); Log_event *ev = 0; + struct rpl_group_info rgi(rli); /* Out of memory check @@ -197,17 +197,8 @@ void mysql_client_binlog_statement(THD* thd) } } - if (!(rgi= rli->group_info)) - { - if (!(rgi= rli->group_info= (struct rpl_group_info *) - my_malloc(sizeof(*rgi), MYF(0)))) - { - my_error(ER_OUTOFMEMORY, MYF(0), sizeof(*rgi)); - goto end; - } - bzero(rgi, sizeof(*rgi)); - } - rgi->rli= rli; + rgi.rli= rli; + rgi.thd= thd; ev= Log_event::read_log_event(bufptr, event_len, &error, rli->relay_log.description_event_for_exec, 0); @@ -244,7 +235,7 @@ void mysql_client_binlog_statement(THD* thd) (ev->flags & LOG_EVENT_SKIP_REPLICATION_F ? OPTION_SKIP_REPLICATION : 0); - err= ev->apply_event(rgi); + err= ev->apply_event(&rgi); thd->variables.option_bits= (thd->variables.option_bits & ~OPTION_SKIP_REPLICATION) | |