summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.h
diff options
context:
space:
mode:
authormats@kindahl-laptop.dnsalias.net <>2007-10-19 14:18:41 +0200
committermats@kindahl-laptop.dnsalias.net <>2007-10-19 14:18:41 +0200
commitf2ba11c327c99c3e1c56a58967ea9f3da1deef3c (patch)
tree1aeb2d68ea22e59e80ed1701a1b9cf1bfcf21927 /sql/rpl_rli.h
parenta2247b2b3f01a32632708ec2a7ebc0c5bbd42806 (diff)
downloadmariadb-git-f2ba11c327c99c3e1c56a58967ea9f3da1deef3c.tar.gz
BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER
is possible): When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN flag was not set correctly, which caused the slave to not recognize that it was inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK, and XID events. It also adds checks if inside a group before decreasing the slave skip counter to zero. Begin_query_log_event was not marked that it could not end a group, which is now corrected.
Diffstat (limited to 'sql/rpl_rli.h')
-rw-r--r--sql/rpl_rli.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h
index 10ecf1a43d4..a3a57ad4ce9 100644
--- a/sql/rpl_rli.h
+++ b/sql/rpl_rli.h
@@ -366,6 +366,18 @@ public:
}
/**
+ Get the value of a replication state flag.
+
+ @param flag Flag to get value of
+
+ @return @c true if the flag was set, @c false otherwise.
+ */
+ bool get_flag(enum_state_flag flag)
+ {
+ return m_flags & (1UL << flag);
+ }
+
+ /**
Clear the value of a replication state flag.
@param flag Flag to clear