HomePhabricator

rdbms: make getMasterPos() ignore GTIDs outside of gtid_domain_id

Authored by aaron on Feb 7 2018, 10:15 AM.

Description

rdbms: make getMasterPos() ignore GTIDs outside of gtid_domain_id

  • Filter out GTIDs with a domain that is not the one binlog events would be written to if the Database handle was given write queries. Likewise for the MariaDB server_id component.
  • Also improve MySQL GTID support to better match that of MariaDB. This covers position retrieval, replication waiting, and ranges in GTIDs (which are almost always present).
  • Make some MySQLMasterPos variables private by making use of accesors instead.
  • Store the gtids array keyed by domain ID for convenience.
  • Clean up dynamic call to static method.

Change-Id: Ic6ab517bc8f200c968ff892ade69ad1b9394ab21