1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#
# This include file validates that sequence events are properly binlogged
# and replicated.
#
# Parameters:
# expected_columns (list<uint>, in) : A list of positive integers which
# correspond to the column numbers that should be output in a binary
# log's write_rows event
#
--echo # Create sequences with specific engines per server
--connection server_1
--eval SET STATEMENT sql_log_bin=0 FOR create sequence s1 cache=0 engine=$server_1_engine
--source include/save_master_gtid.inc
--connection server_2
--eval SET STATEMENT sql_log_bin=0 FOR create sequence s1 cache=0 engine=$server_2_engine
--source include/sync_with_master_gtid.inc
--connection server_3
--eval SET STATEMENT sql_log_bin=0 FOR create sequence s1 cache=0 engine=$server_3_engine
--source include/sync_with_master_gtid.inc
--echo # Pt.1 Ensure SETVAL replicates and binlogs correctly
--connection server_1
SELECT SETVAL(s1, 10);
--source include/save_master_gtid.inc
--echo # Validate SETVAL replicated correctly to other servers
--connection server_3
--source include/sync_with_master_gtid.inc
--let $diff_tables= server_1:test.s1,server_2:test.s1,server_3:test.s1
--source include/diff_tables.inc
--echo # Validate server_1 binlogged SETVAL with the correct columns
--connection server_1
--let binlog_filenamE= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Validate server_2 binlogged SETVAL with the correct columns
--connection server_2
--let binlog_filename= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Validate server_3 binlogged SETVAL with the correct columns
--connection server_3
--let binlog_filename= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Pt.2 Ensure NEXTVAL replicates and binlogs correctly
--connection server_1
--disable_ps2_protocol
SELECT NEXTVAL(s1);
--enable_ps2_protocol
--source include/save_master_gtid.inc
--echo # Validate NEXTVAL replicated correctly to other servers
--connection server_3
--source include/sync_with_master_gtid.inc
--let $diff_tables= server_1:test.s1,server_2:test.s1,server_3:test.s1
--source include/diff_tables.inc
--echo # Validate server_1 binlogged NEXTVAL with the correct columns
--connection server_1
--let binlog_filename= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Validate server_2 binlogged NEXTVAL with the correct columns
--connection server_2
--let binlog_filename= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Validate server_3 binlogged NEXTVAL with the correct columns
--connection server_3
--let binlog_filename= query_get_value(SHOW MASTER STATUS, File, 1)
FLUSH LOGS;
--source include/ensure_binlog_row_event_columns.inc
--echo # Cleanup
--connection server_1
DROP TABLE s1;
--source include/save_master_gtid.inc
--connection server_3
--source include/sync_with_master_gtid.inc
|