diff options
author | unknown <mats@kindahl-laptop.dnsalias.net> | 2007-05-31 20:01:06 +0200 |
---|---|---|
committer | unknown <mats@kindahl-laptop.dnsalias.net> | 2007-05-31 20:01:06 +0200 |
commit | e9adcac2e8f663dbfda38ea917e00ca8af18440c (patch) | |
tree | 914d9e097c2426f52cd8c7f6e4a70d6fb2bc6dde /sql/log_event.h | |
parent | 6d7d07ab78f94fc2eb3bd786d69f6060593a9e97 (diff) | |
download | mariadb-git-e9adcac2e8f663dbfda38ea917e00ca8af18440c.tar.gz |
BUG#28618 (Skipping into the middle of a group with
SQL_SLAVE_SKIP_COUNTER is possible):
By setting the SQL_SLAVE_SKIP_COUNTER it was possible to start the
from the middle of a group. This patch adds code so that events that
do not end a statement are ignored instead of skip counted when the
slave skip counter is 1.
sql/log_event.cc:
Adding code so that for rows log events where the STMT_END_F is clear
and for table map events, the event is ignored when the slave skip
counter is 1 instead of skip counted, or described another way, the
slave skip counter can only be decreased from 1 to 0 when the
STMT_END_F flag is set.
sql/log_event.h:
Adding functions Table_map_log_event::do_shall_skip() and
Rows_log_event::do_shall_skip().
Diffstat (limited to 'sql/log_event.h')
-rw-r--r-- | sql/log_event.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/log_event.h b/sql/log_event.h index 4e43822cb38..dec7a599410 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -2066,6 +2066,7 @@ private: #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) virtual int do_apply_event(RELAY_LOG_INFO const *rli); virtual int do_update_pos(RELAY_LOG_INFO *rli); + virtual enum_skip_reason do_shall_skip(RELAY_LOG_INFO *rli); #endif #ifndef MYSQL_CLIENT @@ -2244,6 +2245,7 @@ private: #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) virtual int do_apply_event(RELAY_LOG_INFO const *rli); virtual int do_update_pos(RELAY_LOG_INFO *rli); + virtual enum_skip_reason do_shall_skip(RELAY_LOG_INFO *rli); /* Primitive to prepare for a sequence of row executions. |