mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
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().
This commit is contained in:
@@ -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.
|
||||
|
Reference in New Issue
Block a user