mariadb/mysql-test/suite
Brandon Nesterenko 0c1bf5e247 MDEV-27247: Add keywords "SQL_BEFORE_GTIDS" and "SQL_AFTER_GTIDS" for START SLAVE UNTIL
New Feature:
============
This patch extends the START SLAVE UNTIL command with options
SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS to allow user control of
whether the replica stops before or after a provided GTID state. Its
syntax is:

START SLAVE UNTIL (SQL_BEFORE_GTIDS|SQL_AFTER_GTIDS)=”<gtid_list>”

When providing SQL_BEFORE_GTIDS=”<gtid_list>”, for each domain
specified in the gtid_list, the replica will execute transactions up
to the GTID found, and immediately stop processing events in that
domain (without executing the transaction of the specified GTID).
Once all domains have stopped, the replica will stop. Events
originating from domains that are not specified in the list are not
replicated.

START SLAVE UNTIL SQL_AFTER_GTIDS=”<gtid_list>” is an alias to the
default behavior of START SLAVE UNTIL master_gtid_pos=”<gtid_list>”.
That is, the replica will only execute transactions originating from
domain ids provided in the list, and will stop once all transactions
provided in the UNTIL list have all been executed.

Example:
=========
If a primary server has a binary log consisting of the following GTIDs:

0-1-1
1-1-1
0-1-2
1-1-2
0-1-3
1-1-3

If a fresh replica (i.e. one with an empty GTID position,
@@gtid_slave_pos='') is started with SQL_BEFORE_GTIDS, i.e.

START SLAVE UNTIL SQL_BEFORE_GTIDS=”1-1-2”

The resulting gtid_slave_pos of the replica will be “1-1-1”.
This is because the replica will execute only events from domain 1
until it sees the transaction with sequence number 2, and
immediately stop without executing it.

If the replica is started with SQL_AFTER_GTIDS, i.e.

START SLAVE UNTIL SQL_AFTER_GTIDS=”1-1-2”

then the resulting gtid_slave_pos of the replica will be “1-1-2”.
This is because it will only execute events from domain 1 until it
has executed the provided GTID.

Reviewed By:
============
Kristian Nielson <knielsen@knielsen-hq.org>
2023-10-23 06:40:05 -06:00
..
archive Merge branch '10.11' into 11.0 2023-08-09 07:53:48 +02:00
atomic binlog_combinations.inc -> binlog_format_combinations.inc 2023-08-15 10:16:11 +02:00
binlog MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
binlog_encryption compile-time deprecation reminders 2023-09-30 14:43:12 +02:00
client
compat Merge branch '10.11' into 11.0 2023-08-09 07:53:48 +02:00
csv
encryption MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
engines compile-time deprecation reminders 2023-09-30 14:43:12 +02:00
events MDEV-29167 new db-level SHOW CREATE ROUTINE privilege 2023-10-17 21:52:39 +02:00
federated Merge branch '11.0' into 11.1 2023-08-09 08:25:14 +02:00
funcs_1 MDEV-29167 new db-level SHOW CREATE ROUTINE privilege 2023-10-17 21:52:39 +02:00
funcs_2
galera compile-time deprecation reminders 2023-09-30 14:43:12 +02:00
galera_3nodes Merge branch '10.9' into 10.10 2023-08-05 20:34:09 +02:00
galera_3nodes_sr
galera_sr Merge branch '10.9' into 10.10 2023-05-03 14:09:13 +02:00
gcol Merge branch '11.1' into 11.2 2023-08-18 00:59:16 +02:00
handler Merge branch '10.11' into 11.0 2023-08-09 07:53:48 +02:00
heap don't crash if ALTER TABLE fails and a long transaction blocks MDL upgrade 2023-08-15 10:16:11 +02:00
innodb compile-time deprecation reminders 2023-09-30 14:43:12 +02:00
innodb_fts MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
innodb_gis MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
innodb_i_s
innodb_zip Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
jp
json
large_tests
maria Merge branch '10.11' into 11.0 2023-08-09 07:53:48 +02:00
mariabackup MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
merge Merge branch '11.0' into 11.1 2023-08-09 08:25:14 +02:00
mtr/t
mtr2
multi_source
optimizer_unfixed_bugs
parts Merge branch '10.11' into 11.0 2023-08-09 07:53:48 +02:00
perfschema MDEV-27247: Add keywords "SQL_BEFORE_GTIDS" and "SQL_AFTER_GTIDS" for START SLAVE UNTIL 2023-10-23 06:40:05 -06:00
perfschema_stress
period Merge branch '11.0' into 11.1 2023-08-09 08:25:14 +02:00
plugins Merge branch '11.0' into 11.1 2023-08-09 08:25:14 +02:00
roles MDEV-29827 collateral cleanup 2023-07-02 12:15:11 +02:00
rpl MDEV-27247: Add keywords "SQL_BEFORE_GTIDS" and "SQL_AFTER_GTIDS" for START SLAVE UNTIL 2023-10-23 06:40:05 -06:00
s3 MDEV-31781 ALTER TABLE ENGINE=s3 fails 2023-08-15 14:00:28 +02:00
sql_sequence Merge branch '10.9' into 10.10 2023-08-05 20:34:09 +02:00
storage_engine MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
stress
sys_vars compile-time deprecation reminders 2023-09-30 14:43:12 +02:00
sysschema MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
unit
vcol MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
versioning Merge branch '11.1' into 11.2 2023-08-18 00:59:16 +02:00
wsrep MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00