polardbxengine/mysql-test/suite/binlog_nogtid/r/binlog_mysqlbinlog_row_tran...

727 lines
30 KiB
Plaintext

#
# Preparatory cleanup.
#
DROP TABLE IF EXISTS t1, t2;
#
# We need a fixed timestamp to avoid varying results.
#
SET timestamp=1000000000;
#
# Delete all existing binary logs.
#
RESET MASTER;
#
# Create test tables.
#
CREATE TABLE t1 (
c1 INT,
c2 VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET latin1;
CREATE TABLE t2 (
c1 INT,
c2 VARCHAR(20)
) ENGINE=MyISAM DEFAULT CHARSET latin1;
#
# Start transaction #1, transactional table only, commit.
#
START TRANSACTION;
#
# Do some statements.
#
INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t1 SET c1 = c1 + 10;
DELETE FROM t1 WHERE c1 = 12;
#
# Commit transaction.
#
COMMIT;
SELECT * FROM t1;
c1 c2
11 varchar-1
13 varchar-3
TRUNCATE TABLE t1;
#
# Start transaction #2, transactional table only, rollback.
#
START TRANSACTION;
#
# Do some statements.
#
INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t1 SET c1 = c1 + 10;
DELETE FROM t1 WHERE c1 = 12;
#
# Rollback transaction.
#
ROLLBACK;
SELECT * FROM t1;
c1 c2
TRUNCATE TABLE t1;
#
# Start transaction #3, both tables, commit.
#
START TRANSACTION;
#
# Do some statements on the transactional table.
#
INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t1 SET c1 = c1 + 10;
DELETE FROM t1 WHERE c1 = 12;
#
# Do some statements on the non-transactional table.
#
INSERT INTO t2 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t2 SET c1 = c1 + 10;
DELETE FROM t2 WHERE c1 = 12;
#
# Commit transaction.
#
COMMIT;
SELECT * FROM t1;
c1 c2
11 varchar-1
13 varchar-3
SELECT * FROM t2;
c1 c2
11 varchar-1
13 varchar-3
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
#
# Start transaction #4, both tables, rollback.
#
START TRANSACTION;
#
# Do some statements on the transactional table.
#
INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t1 SET c1 = c1 + 10;
DELETE FROM t1 WHERE c1 = 12;
#
# Do some statements on the non-transactional table.
#
INSERT INTO t2 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3');
UPDATE t2 SET c1 = c1 + 10;
DELETE FROM t2 WHERE c1 = 12;
#
# Rollback transaction.
#
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
SELECT * FROM t1;
c1 c2
SELECT * FROM t2;
c1 c2
11 varchar-1
13 varchar-3
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
#
# Flush all log buffers to the log file.
#
FLUSH LOGS;
#
# Call mysqlbinlog to display the log file contents.
#
include/mysqlbinlog.inc
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at #
# # server id # end_log_pos # CRC32 # Start: binlog v #, server v # created # at startup
ROLLBACK/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Previous Consensus index=##
##PREV_CONSENSUS_INDEX: ##'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Previous-GTIDs
# [empty]
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=276
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0 Xid = #
use `test`/*!*/;
SET TIMESTAMP=#/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1168113696/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8mb4 *//*!*/;
SET @@session.character_set_client=255,@@session.collation_connection=255,@@session.collation_server=255/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
/*!80011 SET @@session.default_collation_for_utf8mb4=255*//*!*/;
/*!80013 SET @@session.sql_require_primary_key=0*//*!*/;
CREATE TABLE t1 (
c1 INT,
c2 VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=267
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
/*!80013 SET @@session.sql_require_primary_key=0*//*!*/;
CREATE TABLE t2 (
c1 INT,
c2 VARCHAR(20)
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=635
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Xid = #
COMMIT/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=205
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0 Xid = #
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=205
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0 Xid = #
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=396
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t2`
### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t2`
### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=460
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t2`
### WHERE
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t2`
### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=366
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=635
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t1` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Xid = #
COMMIT/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=205
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0 Xid = #
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=196
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t2
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=396
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t2`
### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### INSERT INTO `test`.`t2`
### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=460
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t2`
### WHERE
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### UPDATE `test`.`t2`
### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=366
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=yes original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
BEGIN
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Table_map: `test`.`t2` mapped to number #
# at #
# # server id # end_log_pos # CRC32 # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
COMMIT
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=205
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0 Xid = #
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Consensus flag=# term=# index=# length=196
##CONSENSUS FLAG: # TERM: # INDEX: # LENGTH: # RESERVE: 0'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Gcn have_snapshot_seq=false have_commit_seq=false
SET @@session.innodb_commit_seq=#/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Anonymous_GTID last_committed=# sequence_number=# rbr_only=no original_committed_timestamp=# immediate_commit_timestamp=# transaction_length=#
# original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
# immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
/*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
/*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
/*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
SET @@SESSION.GTID_NEXT= '#'/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=#/*!*/;
TRUNCATE TABLE t2
/*!*/;
# at #
# # server id # end_log_pos # CRC32 # Rotate to binlog.000002 pos: 4
SET @@SESSION.GTID_NEXT= '#' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#
# Cleanup.
#
DROP TABLE t1, t2;
#
# Bug#22350047: IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS
# STMTS COMMITTED
#
CREATE TABLE t1(a INT) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES(1);
SAVEPOINT tx_0;
ROLLBACK TO SAVEPOINT tx_0;
KILL CONNECTION CONN_ID;
# Without the patch, field 'a' contained the value 1
SELECT * FROM t1;
a
DROP TABLE t1;