mariadb/mysql-test/suite/binlog_in_engine/gtid_state2.result
Kristian Nielsen c4e77429cd Binlog-in-engine: Additional test coverage
Add mtr tests for some pieces of code found not covered in coverage report
analysis.

Fix two bugs found by the added tests:

 - Starting server when there is exactly one binlog file that is empty
   (crash during RESET MASTER?) would try to add to the XID hash twice,
   which would cause an error during restart.

 - A GTID binlog state that _exactly_ fits in a page would cause incorrect
   handling of page creation in the page fifo, attempting to create the same
   page twice.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2026-01-22 19:48:21 +01:00

30 lines
800 B
Text

include/master-slave.inc
[connection master]
*** Test GTID state record that exactly fills the page.
connection master;
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY(a, b)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (0, 0);
SET SESSION gtid_domain_id=1;
INSERT INTO t1 VALUES (1, 1);
connection master;
FLUSH BINARY LOGS;
include/save_master_gtid.inc
connection slave;
include/sync_with_master_gtid.inc
include/stop_slave.inc
*** Test that the slave can connect at GTID position correctly.
connection master;
INSERT INTO t1 VALUES (-2, 3);
SELECT COUNT(*) AS full_count FROM t1;
full_count
4095
include/save_master_gtid.inc
connection slave;
include/start_slave.inc
include/sync_with_master_gtid.inc
SELECT COUNT(*) AS full_count FROM t1;
full_count
4095
connection master;
DROP TABLE t1;
include/rpl_end.inc