summaryrefslogtreecommitdiff
path: root/sql/sql_binlog.cc
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-07-09 13:15:53 +0200
committerunknown <knielsen@knielsen-hq.org>2013-07-09 13:15:53 +0200
commit6d5f237e091ca7aa4fdd52c186af11fffc80b1c2 (patch)
treee0328cf45705b6957195f51e5f37510935b3674c /sql/sql_binlog.cc
parenta99356fbe72fbca61617edabc5a8928da4343c96 (diff)
downloadmariadb-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.cc17
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) |