summaryrefslogtreecommitdiff
path: root/sql/sql_binlog.cc
diff options
context:
space:
mode:
authormats@romeo.(none) <>2007-03-22 08:32:41 +0100
committermats@romeo.(none) <>2007-03-22 08:32:41 +0100
commit2ee007ba9d0eb8517a43d767bf2ec4b7fcdad5ad (patch)
treebba4531b8c9f8171e5ef1a8e35958997f3ea5c3d /sql/sql_binlog.cc
parent3920f529eaed9f358bfe722082aa17b424442995 (diff)
downloadmariadb-git-2ee007ba9d0eb8517a43d767bf2ec4b7fcdad5ad.tar.gz
BUG#23171: Illegal group log position
Tail fixes after re-applying patches to older version of clone.
Diffstat (limited to 'sql/sql_binlog.cc')
-rw-r--r--sql/sql_binlog.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/sql/sql_binlog.cc b/sql/sql_binlog.cc
index 23ca5330053..27418c9f9fc 100644
--- a/sql/sql_binlog.cc
+++ b/sql/sql_binlog.cc
@@ -150,9 +150,17 @@ void mysql_client_binlog_statement(THD* thd)
DBUG_PRINT("info", ("bytes_decoded=%d; bufptr=0x%lx; buf[EVENT_LEN_OFFSET]=%u",
bytes_decoded, bufptr, uint4korr(bufptr+EVENT_LEN_OFFSET)));
ev->thd= thd;
- if (int err= ev->exec_event(thd->rli_fake))
+ /*
+ We go directly to the application phase, since we don't need
+ to check if the event shall be skipped or not.
+
+ Neither do we have to update the log positions, since that is
+ not used at all: the rli_fake instance is used only for error
+ reporting.
+ */
+ if (int err= ev->apply_event(thd->rli_fake))
{
- DBUG_PRINT("info", ("exec_event() - error=%d", error));
+ DBUG_PRINT("info", ("apply_event() - error=%d", error));
/*
TODO: Maybe a better error message since the BINLOG statement
now contains several events.