summaryrefslogtreecommitdiff
path: root/sql/log_event.h
diff options
context:
space:
mode:
authorunknown <mats@kindahl-laptop.dnsalias.net>2007-05-31 20:01:06 +0200
committerunknown <mats@kindahl-laptop.dnsalias.net>2007-05-31 20:01:06 +0200
commite9adcac2e8f663dbfda38ea917e00ca8af18440c (patch)
tree914d9e097c2426f52cd8c7f6e4a70d6fb2bc6dde /sql/log_event.h
parent6d7d07ab78f94fc2eb3bd786d69f6060593a9e97 (diff)
downloadmariadb-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.h2
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.