summaryrefslogtreecommitdiff
path: root/sql/log.h
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-05-28 13:28:31 +0200
committerunknown <knielsen@knielsen-hq.org>2013-05-28 13:28:31 +0200
commitee2b7db3f88f6882022a8aa71b30043ed8b40792 (patch)
treece63742ca2896e0bd73a702efeb9eb40ed784f04 /sql/log.h
parentf5319394e3dee146f112b41674ffa188d5e89150 (diff)
downloadmariadb-git-ee2b7db3f88f6882022a8aa71b30043ed8b40792.tar.gz
MDEV-4478: Implement GTID "strict mode"
When @@GLOBAL.gtid_strict_mode=1, then certain operations result in error that would otherwise result in out-of-order binlog files between servers. GTID sequence numbers are now allocated independently per domain; this results in less/no holes in GTID sequences, increasing the likelyhood that diverging binlogs will be caught by the slave when GTID strict mode is enabled.
Diffstat (limited to 'sql/log.h')
-rw-r--r--sql/log.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/log.h b/sql/log.h
index f41b48eba7c..018ac64eff7 100644
--- a/sql/log.h
+++ b/sql/log.h
@@ -783,7 +783,9 @@ public:
bool find_in_binlog_state(uint32 domain_id, uint32 server_id,
rpl_gtid *out_gtid);
bool lookup_domain_in_binlog_state(uint32 domain_id, rpl_gtid *out_gtid);
- void bump_seq_no_counter_if_needed(uint64 seq_no);
+ int bump_seq_no_counter_if_needed(uint32 domain_id, uint64 seq_no);
+ bool check_strict_gtid_sequence(uint32 domain_id, uint32 server_id,
+ uint64 seq_no);
};
class Log_event_handler