mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			769 lines
		
	
	
	
		
			29 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			769 lines
		
	
	
	
		
			29 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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 >
 | |
| # REPLCAE 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;
 | 
