diff options
author | unknown <knielsen@knielsen-hq.org> | 2013-05-28 13:28:31 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2013-05-28 13:28:31 +0200 |
commit | ee2b7db3f88f6882022a8aa71b30043ed8b40792 (patch) | |
tree | ce63742ca2896e0bd73a702efeb9eb40ed784f04 /sql/log.h | |
parent | f5319394e3dee146f112b41674ffa188d5e89150 (diff) | |
download | mariadb-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.h | 4 |
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 |