ALTER DATABASE test CHARACTER SET latin1 COLLATE latin1_swedish_ci;
#
# Preparatory cleanup.
#
DROP TABLE IF EXISTS t1;
#
# We need a fixed timestamp to avoid varying results.
#
SET timestamp=1000000000 ;
# < CASE 1 >
# Delete all existing binary logs.
#
RESET MASTER;
CREATE TABLE t1 (
c01 tinyint,
c02 smallint,
c03 mediumint,
c04 int,
c05 bigint,
c06 char(10 ),
c07 varchar(20 ),
c08 TEXT
) ENGINE=InnoDB;
# < CASE 1 >
# Insert data to t1
#
INSERT INTO t1 VALUES(0 ,0 ,0 ,0 ,0 ,'' ,'' ,'' );
INSERT INTO t1 VALUES(1 ,2 ,3 ,4 ,5 , "abc" , "abcdefg" , "abcedfghijklmnopqrstuvwxyz" );
INSERT INTO t1 VALUES(127 , 32767 , 8388607 , 2147483647 , 9223372036854775807 , repeat('a' , 10 ), repeat('a' , 20 ), repeat('a' , 255 ));
# < CASE 1 >
# Update t1
#
UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3 ;
# < CASE 1 >
# Clear t1
#
DELETE FROM t1;
FLUSH LOGS;
# < CASE 1 >
# Show mysqlbinlog result without -B
#
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Start: binlog v 4 , server v #.##.## created 010909 9 :46 :40 at startup
ROLLBACK/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Gtid list []
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000001
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -1 ddl thread_id=#
/*M!100101 SET @@session.skip_parallel_replication=0*//*!*/;
/*M!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*M!100001 SET @@session.server_id=1*//*!*/;
/*M!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000 /*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1 , @@session.sql_auto_is_null=0 , @@session.unique_checks=1 , @@session.autocommit=1 , @@session.check_constraint_checks=1 , @@session.sql_if_exists=0 , @@session.explicit_defaults_for_timestamp=1 , @@session.system_versioning_insert_history=0 /*!*/;
SET @@session.sql_mode=1411383296 /*!*/;
SET @@session.auto_increment_increment=1 , @@session.auto_increment_offset=1 /*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0 /*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
c01 tinyint,
c02 smallint,
c03 mediumint,
c04 int,
c05 bigint,
c06 char(10 ),
c07 varchar(20 ),
c08 TEXT
) ENGINE=InnoDB
/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -2 trans thread_id=#
/*M!100001 SET @@session.gtid_seq_no=2*//*!*/;
START TRANSACTION
/*!*/;
# at #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(0 ,0 ,0 ,0 ,0 ,'' ,'' ,'' )
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1 =0 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -3 trans thread_id=#
/*M!100001 SET @@session.gtid_seq_no=3*//*!*/;
START TRANSACTION
/*!*/;
# at #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(1 ,2 ,3 ,4 ,5 , "abc" , "abcdefg" , "abcedfghijklmnopqrstuvwxyz" )
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1 =1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -4 trans thread_id=#
/*M!100001 SET @@session.gtid_seq_no=4*//*!*/;
START TRANSACTION
/*!*/;
# at #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(127 , 32767 , 8388607 , 2147483647 , 9223372036854775807 , repeat('a' , 10 ), repeat('a' , 20 ), repeat('a' , 255 ))
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1 =127 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =32767 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =2147483647 /* INT meta=0 nullable=1 is_null=0 */
### @5 =9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -5 trans thread_id=#
/*M!100001 SET @@session.gtid_seq_no=5*//*!*/;
START TRANSACTION
/*!*/;
# at #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
### @1 =0 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### SET
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1 =1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### SET
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 2
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX GTID 0 -1 -6 trans thread_id=#
/*M!100001 SET @@session.gtid_seq_no=6*//*!*/;
START TRANSACTION
/*!*/;
# at #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### DELETE FROM `test`.`t1`
### WHERE
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### DELETE FROM `test`.`t1`
### WHERE
### @1 =127 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =32767 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =2147483647 /* INT meta=0 nullable=1 is_null=0 */
### @5 =9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 3
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/;
# at #
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
# < CASE 1 >
# Show mysqlbinlog result with -B
#
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Start: binlog v 4 , server v #.##.## created 010909 9 :46 :40 at startup
ROLLBACK/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Gtid list []
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000001
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(0 ,0 ,0 ,0 ,0 ,'' ,'' ,'' )
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(1 ,2 ,3 ,4 ,5 , "abc" , "abcdefg" , "abcedfghijklmnopqrstuvwxyz" )
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(127 , 32767 , 8388607 , 2147483647 , 9223372036854775807 , repeat('a' , 10 ), repeat('a' , 20 ), repeat('a' , 255 ))
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 2
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 3
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
START TRANSACTION/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1 =127 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =32767 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =2147483647 /* INT meta=0 nullable=1 is_null=0 */
### @5 =9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
START TRANSACTION/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### SET
### @1 =1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### UPDATE `test`.`t1`
### WHERE
### @1 =100 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
### SET
### @1 =0 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
START TRANSACTION/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1 =127 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =32767 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =2147483647 /* INT meta=0 nullable=1 is_null=0 */
### @5 =9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
START TRANSACTION/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1 =1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =2 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =3 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =4 /* INT meta=0 nullable=1 is_null=0 */
### @5 =5 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Xid = #
START TRANSACTION/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1 =0 /* TINYINT meta=0 nullable=1 is_null=0 */
### @2 =0 /* SHORTINT meta=0 nullable=1 is_null=0 */
### @3 =0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
### @4 =0 /* INT meta=0 nullable=1 is_null=0 */
### @5 =0 /* LONGINT meta=0 nullable=1 is_null=0 */
### @6 ='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7 ='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8 ='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
#010909 9 :46 :40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000 /*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1 , @@session.sql_auto_is_null=0 , @@session.unique_checks=1 , @@session.autocommit=1 , @@session.check_constraint_checks=1 , @@session.sql_if_exists=0 , @@session.explicit_defaults_for_timestamp=1 , @@session.system_versioning_insert_history=0 /*!*/;
SET @@session.sql_mode=1411383296 /*!*/;
SET @@session.auto_increment_increment=1 , @@session.auto_increment_offset=1 /*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0 /*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
COMMIT
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
# < CASE 1 >
# Insert data to t1
#
TRUNCATE TABLE t1;
INSERT INTO t1 VALUES(0 ,0 ,0 ,0 ,0 ,'' ,'' ,'' );
INSERT INTO t1 VALUES(1 ,2 ,3 ,4 ,5 , "abc" , "abcdefg" , "abcedfghijklmnopqrstuvwxyz" );
INSERT INTO t1 VALUES(127 , 32767 , 8388607 , 2147483647 , 9223372036854775807 , repeat('a' , 10 ), repeat('a' , 20 ), repeat('a' , 60 ));
# < CASE 1 >
# Delete all existing binary logs.
#
RESET MASTER;
SELECT * FROM t1;
c01 c02 c03 c04 c05 c06 c07 c08
0 0 0 0 0
1 2 3 4 5 abc abcdefg abcedfghijklmnopqrstuvwxyz
127 32767 8388607 2147483647 9223372036854775807 aaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
# < CASE 1 >
# Operate some data
#
UPDATE t1 SET c01=20 ;
UPDATE t1 SET c02=200 ;
UPDATE t1 SET c03=2000 ;
DELETE FROM t1;
FLUSH LOGS;
# < CASE 1 >
# Flashback & Check the result
#
SELECT * FROM t1;
c01 c02 c03 c04 c05 c06 c07 c08
127 32767 8388607 2147483647 9223372036854775807 aaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1 2 3 4 5 abc abcdefg abcedfghijklmnopqrstuvwxyz
0 0 0 0 0
RESET MASTER;
# < CASE 2 >
# UPDATE multi-rows in one event
#
BEGIN;
UPDATE t1 SET c01=10 WHERE c01=0 ;
UPDATE t1 SET c01=20 WHERE c01=10 ;
COMMIT;
FLUSH LOGS;
# < CASE 2 >
# Flashback & Check the result
#
SELECT * FROM t1;
c01 c02 c03 c04 c05 c06 c07 c08
127 32767 8388607 2147483647 9223372036854775807 aaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1 2 3 4 5 abc abcdefg abcedfghijklmnopqrstuvwxyz
0 0 0 0 0
DROP TABLE t1;
# < CASE 3 >
# Self-referencing foreign keys
#
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, FOREIGN KEY my_fk(b) REFERENCES t1(a)) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES (1 , NULL);
INSERT INTO t1 VALUES (2 , 1 ), (3 , 2 ), (4 , 3 );
COMMIT;
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
RESET MASTER;
DELETE FROM t1 ORDER BY a DESC;
FLUSH LOGS;
# < CASE 3 >
# Flashback & Check the result
#
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
DROP TABLE t1;
# < CASE 4 >
# Trigger
#
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES (1 , NULL);
INSERT INTO t1 VALUES (2 , 1 ), (3 , 2 ), (4 , 3 );
INSERT INTO t2 VALUES (6 , 7 ), (7 , 8 ), (8 , 9 );
COMMIT;
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
SELECT * FROM t2;
a b
6 7
7 8
8 9
CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t2 WHERE a = NEW.b;
RESET MASTER;
INSERT INTO t1 VALUES (5 , 6 ), (7 , 8 );
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
5 6
7 8
SELECT * FROM t2;
a b
7 8
FLUSH LOGS;
# < CASE 4 >
# Flashback & Check the result
#
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
SELECT * FROM t2;
a b
6 7
7 8
8 9
DROP TRIGGER trg1;
DROP TABLE t1;
DROP TABLE t2;
# < CASE 5 >
# REPLACE Queries
#
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, UNIQUE uk(b)) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES (1 , NULL);
INSERT INTO t1 VALUES (2 , 1 ), (3 , 2 ), (4 , 3 );
INSERT INTO t1 VALUES (5 , 4 ), (6 , 5 ), (7 , 6 );
COMMIT;
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
5 4
6 5
7 6
RESET MASTER;
REPLACE INTO t1 VALUES (3 , 100 );
REPLACE INTO t1 SET a=4 , b=200 ;
SELECT * FROM t1;
a b
1 NULL
2 1
5 4
6 5
7 6
3 100
4 200
REPLACE INTO t1 VALUES (5 ,5 );
SELECT * FROM t1;
a b
1 NULL
2 1
5 5
7 6
3 100
4 200
FLUSH LOGS;
# < CASE 5 >
# Flashback & Check the result
#
SELECT * FROM t1;
a b
1 NULL
2 1
3 2
4 3
5 4
6 5
7 6
DROP TABLE t1;
# < CASE 6 >
# Test Case from MDEV-21067
#
CREATE DATABASE world;
CREATE TABLE world.city (
ID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(64 ),
CountryCode VARCHAR(64 ),
District VARCHAR(64 ),
Population INT
) ENGINE=InnoDB;
CREATE TABLE test.test (
ID INT AUTO_INCREMENT PRIMARY KEY,
REC VARCHAR(64 ),
ts TIMESTAMP
) ENGINE=InnoDB;
INSERT INTO world.city VALUES (NULL, 'Davenport' , 'USA' , 'Iowa' , 100 );
INSERT INTO world.city VALUES (NULL, 'Boulder' , 'USA' , 'Colorado' , 1000 );
INSERT INTO world.city VALUES (NULL, 'Gweru' , 'ZWE' , 'Midlands' , 10000 );
RESET MASTER;
CHECKSUM TABLE world.city;
Table Checksum
world.city 563256876
INSERT INTO test.test VALUES (NULL, 'Good record 1' , CURRENT_TIMESTAMP());
INSERT INTO world.city VALUES (NULL, 'Wrong value 1' , '000' , 'Wrong' , 0 );
INSERT INTO world.city VALUES (NULL, 'Wrong value 2' , '000' , 'Wrong' , 0 ) , (NULL, 'Wrong value 3' , '000' , 'Wrong' , 0 );
INSERT INTO test.test VALUES (NULL, 'Good record 2' , CURRENT_TIMESTAMP());
UPDATE world.city SET Population = 99999999 WHERE ID IN (1 , 2 , 3 );
INSERT INTO test.test VALUES (NULL, 'Good record 3' , CURRENT_TIMESTAMP());
DELETE FROM world.city WHERE ID BETWEEN 1 AND 2 ;
INSERT INTO test.test VALUES (NULL, 'Good record 5' , CURRENT_TIMESTAMP());
REPLACE INTO world.city VALUES (4074 , 'Wrong value 4' , '000' , 'Wrong' , 0 );
REPLACE INTO world.city VALUES (4078 , 'Wrong value 5' , '000' , 'Wrong' , 0 ), (NULL, 'Wrong value 6' , '000' , 'Wrong' , 0 );
INSERT INTO test.test VALUES (NULL, 'Good record 6' , CURRENT_TIMESTAMP());
INSERT INTO world.city
SELECT NULL, Name, CountryCode, District, Population FROM world.city WHERE ID BETWEEN 2 AND 10 ;
INSERT INTO test.test VALUES (NULL, 'Good record 7' , CURRENT_TIMESTAMP());
INSERT INTO test.test VALUES (NULL, 'Good record 8' , CURRENT_TIMESTAMP());
DELETE FROM world.city;
INSERT INTO test.test VALUES (NULL, 'Good record 9' , CURRENT_TIMESTAMP());
FLUSH LOGS;
# < CASE 6 >
# Flashback & Check the result
#
SELECT * FROM world.city;
ID Name CountryCode District Population
1 Davenport USA Iowa 100
2 Boulder USA Colorado 1000
3 Gweru ZWE Midlands 10000
SELECT * FROM test.test;
ID REC ts
1 Good record 1 2001 -09 -09 09 :46 :40
2 Good record 2 2001 -09 -09 09 :46 :40
3 Good record 3 2001 -09 -09 09 :46 :40
4 Good record 5 2001 -09 -09 09 :46 :40
5 Good record 6 2001 -09 -09 09 :46 :40
6 Good record 7 2001 -09 -09 09 :46 :40
7 Good record 8 2001 -09 -09 09 :46 :40
8 Good record 9 2001 -09 -09 09 :46 :40
CHECKSUM TABLE world.city;
Table Checksum
world.city 563256876
DROP TABLE test.test;
DROP TABLE world.city;
DROP DATABASE world;
# < CASE 7 >
# Test Case for MDEV-17260
#
RESET MASTER;
CREATE TABLE t1 ( f INT PRIMARY KEY ) ENGINE=innodb;
INSERT INTO t1 VALUES (1 ),(2 ),(3 ),(4 ),(5 ),(6 );
# 6 - Rows must be present
SELECT COUNT(*) FROM t1;
COUNT(*)
6
FLUSH LOGS;
DELETE FROM t1;
FLUSH LOGS;
# 0 - Rows must be present
include/assert .inc [Table t1 should have 0 rows.]
# 6 - Rows must be present upon restoring from flashback
include/assert .inc [Table t1 should have six rows.]
DROP TABLE t1;
#
# MDEV-30698 Cover missing test cases for mariadb-binlog options
# --raw [and ] --flashback
#
#
# < CASE 8 >
# Verify flashback works well for binlog_row_image full_nodup mode
#
CREATE TABLE t1 (
c01 TINYINT PRIMARY KEY,
c02 SMALLINT,
c03 MEDIUMINT,
c04 INT,
c05 BIGINT,
c06 CHAR(10 ),
c07 VARCHAR(20 ),
c08 TEXT,
c09 ENUM('one' , 'two' , 'three' , 'four' , 'five' , 'six' , 'seven' , 'eight' ),
c10 SET ('black' , 'white' , 'red' , 'yellow' ),
c11 TIMESTAMP(3 ),
c12 DATETIME(3 )
) ENGINE = InnoDB;
INSERT INTO t1 VALUES (1 , 1 , 1 , 1 , 1 , 'A' , 'A' , 'A' , 'one' , 'black' ,
'2023-11-26 10:00:00.123' , '2023-11-26 10:00:00' );
INSERT INTO t1 VALUES (2 , 1 , 1 , 1 , 1 , 'A' , 'A' , 'A' , 'one' , 'black' ,
'2023-11-26 10:00:00.123' , '2023-11-26 10:00:00' );
INSERT INTO t1 VALUES (3 , 1 , NULL, 1 , 1 , 'A' , 'A' , 'A' , 'one' , 'black' ,
'2023-11-26 10:00:00.123' , NULL);
INSERT INTO t1 VALUES (4 , 1 , NULL, 1 , 1 , 'A' , 'A' , 'A' , 'one' , 'black' ,
'2023-11-26 10:00:00.123' , NULL);
FLUSH BINARY LOGS;
# The update includes the cases that
# Value -> Value
# Value -> NULL
# NULL -> value
# and the changed null bits in both first and second null byte
UPDATE t1 SET c02 = NULL, c03 = 2 , c09 = 'two' ,
c10 = NULL, c12 = '2023-11-26 11:00:00' ;
FLUSH BINARY LOGS;
#
# Data before flashback
#
SELECT * FROM t1;
c01 c02 c03 c04 c05 c06 c07 c08 c09 c10 c11 c12
1 NULL 2 1 1 A A A two NULL 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 11 :00 :00 .000
2 NULL 2 1 1 A A A two NULL 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 11 :00 :00 .000
3 NULL 2 1 1 A A A two NULL 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 11 :00 :00 .000
4 NULL 2 1 1 A A A two NULL 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 11 :00 :00 .000
#
# Data after flashback
#
SELECT * FROM t1;
c01 c02 c03 c04 c05 c06 c07 c08 c09 c10 c11 c12
1 1 1 1 1 A A A one black 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 10 :00 :00 .000
2 1 1 1 1 A A A one black 2023 -11 -26 10 :00 :00 .123 2023 -11 -26 10 :00 :00 .000
3 1 NULL 1 1 A A A one black 2023 -11 -26 10 :00 :00 .123 NULL
4 1 NULL 1 1 A A A one black 2023 -11 -26 10 :00 :00 .123 NULL
DROP TABLE t1;
SET binlog_format=statement;
Warnings:
Warning 1105 MariaDB Galera and flashback do not support binlog format: STATEMENT
SET GLOBAL binlog_format=statement;
ERROR HY000: Flashback does not support binlog_format STATEMENT
ALTER DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci;
Messung V0.5 in Prozent C=54 H=100 G=80
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland