summaryrefslogtreecommitdiff
path: root/sql/rpl_gtid.h
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-08-22 12:36:42 +0200
committerunknown <knielsen@knielsen-hq.org>2013-08-22 12:36:42 +0200
commitf74c745a994cbbf3b8289674bf49629224457d4e (patch)
treed1cd1df1a0bf6004428683af6dd83cc7b5b55937 /sql/rpl_gtid.h
parent33c66eb7fbcddb09217820708e8ce9324e65db11 (diff)
downloadmariadb-git-f74c745a994cbbf3b8289674bf49629224457d4e.tar.gz
MDEV-4488: When master is on the list of ignore_server_ids, GTID position on slave is not updated
The ignored events are not written to the relay log, but instead a fake Rotate event is generated to handle update of position. Extend this for Gtid so we similarly generate a fake Gtid_list event to update the GTID position. Also fix an unrelated test issue that got triggered by the added test cases.
Diffstat (limited to 'sql/rpl_gtid.h')
-rw-r--r--sql/rpl_gtid.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/rpl_gtid.h b/sql/rpl_gtid.h
index fcb9f08795a..8d2c98d54d3 100644
--- a/sql/rpl_gtid.h
+++ b/sql/rpl_gtid.h
@@ -195,9 +195,11 @@ struct slave_connection_state
entry *find_entry(uint32 domain_id);
int update(const rpl_gtid *in_gtid);
void remove(const rpl_gtid *gtid);
+ void remove_if_present(const rpl_gtid *in_gtid);
ulong count() const { return hash.records; }
int to_string(String *out_str);
int append_to_string(String *out_str);
+ int get_gtid_list(rpl_gtid *gtid_list, uint32 list_size);
};
extern bool rpl_slave_state_tostring_helper(String *dest, const rpl_gtid *gtid,