From a21e01a53d309c4c949d41f85a43211008bac1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Thu, 25 Oct 2018 09:08:44 +0300 Subject: MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check causes hang row_ins_check_foreign_constraint(): Do not overwrite hard errors with the soft error DB_LOCK_WAIT. This prevents an infinite wait loop when DB_INTERRUPTED was returned. For DB_LOCK_WAIT, row_insert_for_mysql() would keep invoking row_ins_step() and the transaction would remain active until the server shutdown is initiated. --- mysql-test/suite/innodb/r/foreign_key.result | 21 +++++++++++++-- mysql-test/suite/innodb/t/foreign_key.test | 39 +++++++++++++++++++++++++--- 2 files changed, 54 insertions(+), 6 deletions(-) (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result index a151651b594..831417aff5c 100644 --- a/mysql-test/suite/innodb/r/foreign_key.result +++ b/mysql-test/suite/innodb/r/foreign_key.result @@ -252,7 +252,6 @@ DELETE FROM t1 WHERE id = 1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction connection con1; COMMIT; -disconnect con1; connection default; SELECT * FROM t2; id ref_id f @@ -332,7 +331,25 @@ PRIMARY KEY (store_id), UNIQUE KEY idx_unique_manager (manager_staff_id), CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE ) ENGINE=InnoDB; -SET FOREIGN_KEY_CHECKS=DEFAULT; LOCK TABLE staff WRITE; UNLOCK TABLES; DROP TABLES staff, store; +SET FOREIGN_KEY_CHECKS=1; +# +# MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs +# +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 (a INT PRIMARY KEY, FOREIGN KEY (a) REFERENCES t1(a)) +ENGINE=InnoDB; +connection con1; +INSERT INTO t1 SET a=1; +BEGIN; +DELETE FROM t1; +connection default; +INSERT INTO t2 SET a=1; +connection con1; +kill query @id; +connection default; +ERROR 70100: Query execution was interrupted +disconnect con1; +DROP TABLE t2,t1; diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test index 7a8a9295ee7..44b9e28d8fc 100644 --- a/mysql-test/suite/innodb/t/foreign_key.test +++ b/mysql-test/suite/innodb/t/foreign_key.test @@ -228,7 +228,6 @@ DELETE FROM t1 WHERE id = 1; --connection con1 COMMIT; ---disconnect con1 --connection default SELECT * FROM t2; @@ -288,8 +287,6 @@ insert into t1 values(1, 1); insert into t2(f1) values(1); drop table t2, t1; ---source include/wait_until_count_sessions.inc - # # MDEV-12669 Circular foreign keys cause a loop and OOM upon LOCK TABLE # @@ -308,8 +305,42 @@ CREATE TABLE store ( UNIQUE KEY idx_unique_manager (manager_staff_id), CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE ) ENGINE=InnoDB; -SET FOREIGN_KEY_CHECKS=DEFAULT; LOCK TABLE staff WRITE; UNLOCK TABLES; DROP TABLES staff, store; +SET FOREIGN_KEY_CHECKS=1; + +--echo # +--echo # MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs +--echo # + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 (a INT PRIMARY KEY, FOREIGN KEY (a) REFERENCES t1(a)) +ENGINE=InnoDB; + +connection con1; +INSERT INTO t1 SET a=1; +BEGIN; +DELETE FROM t1; + +connection default; +let $ID= `SELECT @id := CONNECTION_ID()`; +send INSERT INTO t2 SET a=1; + +connection con1; +let $wait_condition= + select count(*) = 1 from information_schema.processlist + where state = 'update' and info = 'INSERT INTO t2 SET a=1'; +--source include/wait_condition.inc +let $ignore= `SELECT @id := $ID`; +kill query @id; + +connection default; +--error ER_QUERY_INTERRUPTED +reap; +disconnect con1; + +DROP TABLE t2,t1; + +--source include/wait_until_count_sessions.inc -- cgit v1.2.1 From 5dd3b52f950d688bbe9ea2e8cd10b5206198a096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 24 Oct 2018 11:04:38 +0300 Subject: MDEV-17531 Crash in RENAME TABLE with FOREIGN KEY and FULLTEXT INDEX In RENAME TABLE, when an error occurs while renaming FOREIGN KEY constraint, that error would be overwritten when renaming the InnoDB internal tables related to FULLTEXT INDEX. row_rename_table_for_mysql(): Do not attempt to rename the internal tables if an error already occurred. This problem was originally reported as Oracle Bug#27545888. --- mysql-test/suite/innodb/r/foreign_key.result | 32 ++++++++++++++++++ mysql-test/suite/innodb/t/foreign_key.test | 50 ++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result index 0d04f27f51f..b6462000b46 100644 --- a/mysql-test/suite/innodb/r/foreign_key.result +++ b/mysql-test/suite/innodb/r/foreign_key.result @@ -17,3 +17,35 @@ SET FOREIGN_KEY_CHECKS=DEFAULT; LOCK TABLE staff WRITE; UNLOCK TABLES; DROP TABLES staff, store; +SET FOREIGN_KEY_CHECKS=1; +# +# MDEV-17531 Crash in RENAME TABLE with FOREIGN KEY and FULLTEXT INDEX +# +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +CREATE DATABASE best; +CREATE TABLE t3 (a INT PRIMARY KEY, +CONSTRAINT t2_ibfk_1 FOREIGN KEY (a) REFERENCES t1(a)) ENGINE=InnoDB; +CREATE TABLE best.t2 (a INT PRIMARY KEY, b TEXT, FULLTEXT INDEX(b), +FOREIGN KEY (a) REFERENCES test.t1(a)) ENGINE=InnoDB; +RENAME TABLE best.t2 TO test.t2; +ERROR 42S01: Table 't2' already exists +SHOW CREATE TABLE best.t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` int(11) NOT NULL, + `b` text, + PRIMARY KEY (`a`), + FULLTEXT KEY `b` (`b`), + CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t1` (`a`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +DROP DATABASE best; +# +# MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs +# +INSERT INTO t1 SET a=1; +BEGIN; +DELETE FROM t1; +INSERT INTO t3 SET a=1; +kill query @id; +ERROR 70100: Query execution was interrupted +DROP TABLE t3,t1; diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test index 223a1596883..c1a92697dab 100644 --- a/mysql-test/suite/innodb/t/foreign_key.test +++ b/mysql-test/suite/innodb/t/foreign_key.test @@ -23,3 +23,53 @@ SET FOREIGN_KEY_CHECKS=DEFAULT; LOCK TABLE staff WRITE; UNLOCK TABLES; DROP TABLES staff, store; + +SET FOREIGN_KEY_CHECKS=1; + +--echo # +--echo # MDEV-17531 Crash in RENAME TABLE with FOREIGN KEY and FULLTEXT INDEX +--echo # + +--disable_query_log +call mtr.add_suppression("InnoDB: Error; possible reasons:"); +--enable_query_log + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +CREATE DATABASE best; +CREATE TABLE t3 (a INT PRIMARY KEY, +CONSTRAINT t2_ibfk_1 FOREIGN KEY (a) REFERENCES t1(a)) ENGINE=InnoDB; +CREATE TABLE best.t2 (a INT PRIMARY KEY, b TEXT, FULLTEXT INDEX(b), +FOREIGN KEY (a) REFERENCES test.t1(a)) ENGINE=InnoDB; +--replace_regex /Table '.*t2'/Table 't2'/ +--error ER_TABLE_EXISTS_ERROR +RENAME TABLE best.t2 TO test.t2; +SHOW CREATE TABLE best.t2; +DROP DATABASE best; + +--echo # +--echo # MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs +--echo # +connect (fk, localhost, root,,); +INSERT INTO t1 SET a=1; +BEGIN; +DELETE FROM t1; + +connection default; +let $ID= `SELECT @id := CONNECTION_ID()`; +send INSERT INTO t3 SET a=1; + +connection fk; +# Check that the above SELECT is blocked +let $wait_condition= + select count(*) = 1 from information_schema.processlist + where state = 'update' and info = 'INSERT INTO t3 SET a=1'; +--source include/wait_condition.inc +let $ignore= `SELECT @id := $ID`; +kill query @id; + +connection default; +--error ER_QUERY_INTERRUPTED +reap; +disconnect fk; + +DROP TABLE t3,t1; -- cgit v1.2.1 From 2549f982891f4598768f10f2aa549861ea7152d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 24 Oct 2018 16:01:18 +0300 Subject: =?UTF-8?q?MDEV-17532=20Performance=5Fschema=20reports=20wrong=20d?= =?UTF-8?q?irectory=20for=20the=20temporary=20files=20of=20ALTER=20TABLE?= =?UTF-8?q?=E2=80=A6ALGORITHM=3DINPLACE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit row_merge_file_create_low(): Pass the directory of the temporary file to the PSI_FILE_CALL. --- .../suite/innodb/r/alter_inplace_perfschema.result | 15 ++++++++ .../suite/innodb/t/alter_inplace_perfschema.opt | 2 ++ .../suite/innodb/t/alter_inplace_perfschema.test | 40 ++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 mysql-test/suite/innodb/r/alter_inplace_perfschema.result create mode 100644 mysql-test/suite/innodb/t/alter_inplace_perfschema.opt create mode 100644 mysql-test/suite/innodb/t/alter_inplace_perfschema.test (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/alter_inplace_perfschema.result b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result new file mode 100644 index 00000000000..38c8ca2f553 --- /dev/null +++ b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result @@ -0,0 +1,15 @@ +update performance_schema.setup_instruments set enabled='yes'; +update performance_schema.setup_consumers set enabled='yes'; +CREATE TABLE t1 (a serial, b varchar(255)) ENGINE=InnoDB; +BEGIN; +COMMIT; +SET DEBUG_SYNC = 'row_log_apply_before SIGNAL go WAIT_FOR gone'; +ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE; +SET DEBUG_SYNC = 'now WAIT_FOR go'; +SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long +WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%'; +object_name +tmp/Innodb Merge Temp File +SET DEBUG_SYNC = 'now SIGNAL gone'; +SET DEBUG_SYNC = 'RESET'; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt b/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt new file mode 100644 index 00000000000..f56125521fc --- /dev/null +++ b/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt @@ -0,0 +1,2 @@ +--innodb-sort-buffer-size=64k +--tmpdir=$MYSQLTEST_VARDIR/tmp diff --git a/mysql-test/suite/innodb/t/alter_inplace_perfschema.test b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test new file mode 100644 index 00000000000..5f1e1f3491d --- /dev/null +++ b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test @@ -0,0 +1,40 @@ +--source include/have_innodb.inc +--source include/have_perfschema.inc +--source include/have_debug.inc +--source include/have_debug_sync.inc +--source include/not_embedded.inc + +connect (ddl, localhost, root,,); +update performance_schema.setup_instruments set enabled='yes'; +update performance_schema.setup_consumers set enabled='yes'; +CREATE TABLE t1 (a serial, b varchar(255)) ENGINE=InnoDB; + +BEGIN; +let $n=10; +--disable_query_log +while ($n) { +dec $n; +INSERT INTO t1 SELECT NULL, REPEAT('b',255); +} +--enable_query_log +COMMIT; + +SET DEBUG_SYNC = 'row_log_apply_before SIGNAL go WAIT_FOR gone'; +send ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE; + +connection default; +SET DEBUG_SYNC = 'now WAIT_FOR go'; +--replace_regex /.*[\\\/]tmp/tmp/ +SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long +WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%'; + +#--exec lsof -p `pidof mysqld` +SET DEBUG_SYNC = 'now SIGNAL gone'; + +connection ddl; +reap; +disconnect ddl; + +connection default; +SET DEBUG_SYNC = 'RESET'; +DROP TABLE t1; -- cgit v1.2.1 From 30c3d6db328d73f1b30be537aceb55d37936fdb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 24 Oct 2018 16:28:46 +0300 Subject: MDEV-17533 Merge new release of InnoDB 5.6.42 to 10.0 Also, add a test for a bug that does not seem to affect MariaDB. --- .../suite/innodb/r/innodb-alter-debug.result | 14 ++++++++++++ mysql-test/suite/innodb/t/innodb-alter-debug.test | 25 +++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result index 78976030ac8..d888fb5b034 100644 --- a/mysql-test/suite/innodb/r/innodb-alter-debug.result +++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result @@ -54,3 +54,17 @@ SET DEBUG_SYNC = 'now SIGNAL s2'; ERROR 23000: Duplicate entry '1' for key 'uk' SET DEBUG_SYNC = 'RESET'; drop table t1; +# +# Bug #27753193 ASSERTION `PREBUILT->TRX->ERROR_KEY_NUM < +# HA_ALTER_INFO->KEY_COUNT' +CREATE TABLE t1 (a INT, UNIQUE KEY(a)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1); +SET DEBUG_SYNC = 'row_log_table_apply1_before signal S1 WAIT_FOR S2'; +ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; +SET DEBUG_SYNC = 'now WAIT_FOR S1'; +INSERT INTO t1 VALUES (1); +ERROR 23000: Duplicate entry '1' for key 'a' +SET DEBUG_SYNC = 'now SIGNAL S2'; +ERROR 23000: Duplicate entry '1' for key 'a' +SET DEBUG_SYNC='RESET'; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test index f4996916e9f..bc4b2ad8e56 100644 --- a/mysql-test/suite/innodb/t/innodb-alter-debug.test +++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test @@ -64,7 +64,6 @@ set DEBUG_SYNC = 'now WAIT_FOR s1'; --error ER_DUP_ENTRY update t1 set a=1 where id=2; SET DEBUG_SYNC = 'now SIGNAL s2'; -disconnect con1; --echo /* connection default */ connection default; @@ -75,5 +74,29 @@ SET DEBUG_SYNC = 'RESET'; drop table t1; +--echo # +--echo # Bug #27753193 ASSERTION `PREBUILT->TRX->ERROR_KEY_NUM < +--echo # HA_ALTER_INFO->KEY_COUNT' + +CREATE TABLE t1 (a INT, UNIQUE KEY(a)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1); + +SET DEBUG_SYNC = 'row_log_table_apply1_before signal S1 WAIT_FOR S2'; +send ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; + +connection con1; +SET DEBUG_SYNC = 'now WAIT_FOR S1'; +--error ER_DUP_ENTRY +INSERT INTO t1 VALUES (1); +SET DEBUG_SYNC = 'now SIGNAL S2'; +disconnect con1; + +CONNECTION default; +--error ER_DUP_ENTRY +reap; +SET DEBUG_SYNC='RESET'; + +DROP TABLE t1; + # Wait till all disconnects are completed --source include/wait_until_count_sessions.inc -- cgit v1.2.1 From 6ced789186fabd7dce97b3d6d171ff9e5ddc5f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 30 Oct 2018 13:29:19 +0200 Subject: MDEV-12023 Assertion failure sym_node->table != NULL on startup row_drop_table_for_mysql(): Avoid accessing non-existing dictionary tables. dict_create_or_check_foreign_constraint_tables(): Add debug instrumentation for creating and dropping a table before the creation of any non-core dictionary tables. trx_purge_add_update_undo_to_history(): Adjust a debug assertion, so that it will not fail due to the test instrumentation. --- .../suite/innodb/r/table_flags,4k,debug.rdiff | 128 +++++++++++++++++++++ .../suite/innodb/r/table_flags,4k,release.rdiff | 83 +++++++++++++ mysql-test/suite/innodb/r/table_flags,4k.rdiff | 83 ------------- .../suite/innodb/r/table_flags,8k,debug.rdiff | 128 +++++++++++++++++++++ .../suite/innodb/r/table_flags,8k,release.rdiff | 83 +++++++++++++ mysql-test/suite/innodb/r/table_flags,8k.rdiff | 83 ------------- mysql-test/suite/innodb/r/table_flags,debug.rdiff | 128 +++++++++++++++++++++ mysql-test/suite/innodb/t/table_flags.test | 4 + 8 files changed, 554 insertions(+), 166 deletions(-) create mode 100644 mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,4k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,4k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,8k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,8k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,debug.rdiff (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff new file mode 100644 index 00000000000..83e40b2d3fd --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff @@ -0,0 +1,128 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,4k,debug.reject +@@ -10,81 +10,81 @@ + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; + SYS_TABLES clustered index root page (8): + N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000003270194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x8000000320016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x80000003200260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501fc (NAME='SYS_TABLESPACES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++header=0x040028150209 (NAME='SYS_TABLESPACES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000003270110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000038150240 (NAME='test/tc', +- DB_TRX_ID=0x000000000303, +- DB_ROLL_PTR=0x83000001360110, +- ID=0x0000000000000010, ++header=0x00003815024d (NAME='test/tc', ++ DB_TRX_ID=0x000000000304, ++ DB_ROLL_PTR=0x830000032c0110, ++ ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x0000401502c8 (NAME='test/td', +- DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x84000001370110, +- ID=0x0000000000000011, ++header=0x0000401502d5 (NAME='test/td', ++ DB_TRX_ID=0x000000000305, ++ DB_ROLL_PTR=0x840000032d0110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x0000501501b8 (NAME='test/tp', +- DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x86000001390110, +- ID=0x0000000000000013, ++header=0x00005015008d (NAME='test/tp', ++ DB_TRX_ID=0x000000000307, ++ DB_ROLL_PTR=0x86000003300110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x000030150284 (NAME='test/tr', +- DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++header=0x000010150291 (NAME='test/tr', ++ DB_TRX_ID=0x000000000303, ++ DB_ROLL_PTR=0x820000032b0110, ++ ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -92,9 +92,9 @@ + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', +- DB_TRX_ID=0x000000000305, +- DB_ROLL_PTR=0x85000001380110, +- ID=0x0000000000000012, ++ DB_TRX_ID=0x000000000306, ++ DB_ROLL_PTR=0x850000032e0110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff new file mode 100644 index 00000000000..faa8a408c65 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff @@ -0,0 +1,83 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,4k.reject +@@ -13,7 +13,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000003260194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +23,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x80000003200110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +33,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x80000003200201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +43,7 @@ + SPACE=0x00000000) + header=0x0400201501fc (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000003260110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +53,7 @@ + SPACE=0x00000000) + header=0x000038150240 (NAME='test/tc', + DB_TRX_ID=0x000000000303, +- DB_ROLL_PTR=0x83000001360110, ++ DB_ROLL_PTR=0x830000032b0110, + ID=0x0000000000000010, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -63,7 +63,7 @@ + SPACE=0x00000002) + header=0x0000401502c8 (NAME='test/td', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x84000001370110, ++ DB_ROLL_PTR=0x840000032c0110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -73,7 +73,7 @@ + SPACE=0x00000003) + header=0x0000501501b8 (NAME='test/tp', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x86000001390110, ++ DB_ROLL_PTR=0x860000032e0110, + ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +83,7 @@ + SPACE=0x00000005) + header=0x000030150284 (NAME='test/tr', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x820000032a0110, + ID=0x000000000000000f, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -93,7 +93,7 @@ + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', + DB_TRX_ID=0x000000000305, +- DB_ROLL_PTR=0x85000001380110, ++ DB_ROLL_PTR=0x850000032d0110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,4k.rdiff b/mysql-test/suite/innodb/r/table_flags,4k.rdiff deleted file mode 100644 index faa8a408c65..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,4k.rdiff +++ /dev/null @@ -1,83 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,4k.reject -@@ -13,7 +13,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000301, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000003260194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +23,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x80000003200110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +33,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x80000003200201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +43,7 @@ - SPACE=0x00000000) - header=0x0400201501fc (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000301, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000003260110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +53,7 @@ - SPACE=0x00000000) - header=0x000038150240 (NAME='test/tc', - DB_TRX_ID=0x000000000303, -- DB_ROLL_PTR=0x83000001360110, -+ DB_ROLL_PTR=0x830000032b0110, - ID=0x0000000000000010, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -63,7 +63,7 @@ - SPACE=0x00000002) - header=0x0000401502c8 (NAME='test/td', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x84000001370110, -+ DB_ROLL_PTR=0x840000032c0110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -73,7 +73,7 @@ - SPACE=0x00000003) - header=0x0000501501b8 (NAME='test/tp', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x86000001390110, -+ DB_ROLL_PTR=0x860000032e0110, - ID=0x0000000000000013, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +83,7 @@ - SPACE=0x00000005) - header=0x000030150284 (NAME='test/tr', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x820000032a0110, - ID=0x000000000000000f, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -93,7 +93,7 @@ - SPACE=0x00000001) - header=0x000048150074 (NAME='test/tz', - DB_TRX_ID=0x000000000305, -- DB_ROLL_PTR=0x85000001380110, -+ DB_ROLL_PTR=0x850000032d0110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff new file mode 100644 index 00000000000..14fa7509c19 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff @@ -0,0 +1,128 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,8k,debug.reject +@@ -10,81 +10,81 @@ + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; + SYS_TABLES clustered index root page (8): + N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000001d80194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x80000001d1016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x80000001d10260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501fc (NAME='SYS_TABLESPACES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++header=0x040028150209 (NAME='SYS_TABLESPACES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000001d80110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000038150240 (NAME='test/tc', +- DB_TRX_ID=0x000000000303, +- DB_ROLL_PTR=0x83000001360110, +- ID=0x0000000000000010, ++header=0x00003815024d (NAME='test/tc', ++ DB_TRX_ID=0x000000000304, ++ DB_ROLL_PTR=0x83000001dc0110, ++ ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x0000401502c8 (NAME='test/td', +- DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x84000001370110, +- ID=0x0000000000000011, ++header=0x0000401502d5 (NAME='test/td', ++ DB_TRX_ID=0x000000000305, ++ DB_ROLL_PTR=0x84000001dd0110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x0000501501b8 (NAME='test/tp', +- DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x86000001390110, +- ID=0x0000000000000013, ++header=0x00005015008d (NAME='test/tp', ++ DB_TRX_ID=0x000000000307, ++ DB_ROLL_PTR=0x86000001df0110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x000030150284 (NAME='test/tr', +- DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++header=0x000010150291 (NAME='test/tr', ++ DB_TRX_ID=0x000000000303, ++ DB_ROLL_PTR=0x82000001db0110, ++ ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -92,9 +92,9 @@ + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', +- DB_TRX_ID=0x000000000305, +- DB_ROLL_PTR=0x85000001380110, +- ID=0x0000000000000012, ++ DB_TRX_ID=0x000000000306, ++ DB_ROLL_PTR=0x85000001de0110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff new file mode 100644 index 00000000000..ba3439fc6cf --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff @@ -0,0 +1,83 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,8k.reject +@@ -13,7 +13,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000001d70194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +23,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x80000001d10110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +33,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x80000001d10201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +43,7 @@ + SPACE=0x00000000) + header=0x0400201501fc (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000001d70110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +53,7 @@ + SPACE=0x00000000) + header=0x000038150240 (NAME='test/tc', + DB_TRX_ID=0x000000000303, +- DB_ROLL_PTR=0x83000001360110, ++ DB_ROLL_PTR=0x83000001db0110, + ID=0x0000000000000010, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -63,7 +63,7 @@ + SPACE=0x00000002) + header=0x0000401502c8 (NAME='test/td', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x84000001370110, ++ DB_ROLL_PTR=0x84000001dc0110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -73,7 +73,7 @@ + SPACE=0x00000003) + header=0x0000501501b8 (NAME='test/tp', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x86000001390110, ++ DB_ROLL_PTR=0x86000001de0110, + ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +83,7 @@ + SPACE=0x00000005) + header=0x000030150284 (NAME='test/tr', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x82000001da0110, + ID=0x000000000000000f, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -93,7 +93,7 @@ + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', + DB_TRX_ID=0x000000000305, +- DB_ROLL_PTR=0x85000001380110, ++ DB_ROLL_PTR=0x85000001dd0110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,8k.rdiff b/mysql-test/suite/innodb/r/table_flags,8k.rdiff deleted file mode 100644 index ba3439fc6cf..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,8k.rdiff +++ /dev/null @@ -1,83 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,8k.reject -@@ -13,7 +13,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000301, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000001d70194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +23,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x80000001d10110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +33,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x80000001d10201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +43,7 @@ - SPACE=0x00000000) - header=0x0400201501fc (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000301, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000001d70110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +53,7 @@ - SPACE=0x00000000) - header=0x000038150240 (NAME='test/tc', - DB_TRX_ID=0x000000000303, -- DB_ROLL_PTR=0x83000001360110, -+ DB_ROLL_PTR=0x83000001db0110, - ID=0x0000000000000010, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -63,7 +63,7 @@ - SPACE=0x00000002) - header=0x0000401502c8 (NAME='test/td', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x84000001370110, -+ DB_ROLL_PTR=0x84000001dc0110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -73,7 +73,7 @@ - SPACE=0x00000003) - header=0x0000501501b8 (NAME='test/tp', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x86000001390110, -+ DB_ROLL_PTR=0x86000001de0110, - ID=0x0000000000000013, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +83,7 @@ - SPACE=0x00000005) - header=0x000030150284 (NAME='test/tr', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x82000001da0110, - ID=0x000000000000000f, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -93,7 +93,7 @@ - SPACE=0x00000001) - header=0x000048150074 (NAME='test/tz', - DB_TRX_ID=0x000000000305, -- DB_ROLL_PTR=0x85000001380110, -+ DB_ROLL_PTR=0x85000001dd0110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,debug.rdiff new file mode 100644 index 00000000000..d038515ffe5 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,debug.rdiff @@ -0,0 +1,128 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,debug.reject +@@ -10,81 +10,81 @@ + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; + SYS_TABLES clustered index root page (8): + N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000001330194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012d016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012d0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501fc (NAME='SYS_TABLESPACES', +- DB_TRX_ID=0x000000000301, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++header=0x040028150209 (NAME='SYS_TABLESPACES', ++ DB_TRX_ID=0x000000000302, ++ DB_ROLL_PTR=0x81000001330110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000038150240 (NAME='test/tc', +- DB_TRX_ID=0x000000000303, +- DB_ROLL_PTR=0x83000001360110, +- ID=0x0000000000000010, ++header=0x00003815024d (NAME='test/tc', ++ DB_TRX_ID=0x000000000304, ++ DB_ROLL_PTR=0x83000001370110, ++ ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x0000401502c8 (NAME='test/td', +- DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x84000001370110, +- ID=0x0000000000000011, ++header=0x0000401502d5 (NAME='test/td', ++ DB_TRX_ID=0x000000000305, ++ DB_ROLL_PTR=0x84000001380110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x0000501501b8 (NAME='test/tp', +- DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x86000001390110, +- ID=0x0000000000000013, ++header=0x00005015008d (NAME='test/tp', ++ DB_TRX_ID=0x000000000307, ++ DB_ROLL_PTR=0x860000013a0110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x000030150284 (NAME='test/tr', +- DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++header=0x000010150291 (NAME='test/tr', ++ DB_TRX_ID=0x000000000303, ++ DB_ROLL_PTR=0x82000001360110, ++ ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -92,9 +92,9 @@ + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', +- DB_TRX_ID=0x000000000305, +- DB_ROLL_PTR=0x85000001380110, +- ID=0x0000000000000012, ++ DB_TRX_ID=0x000000000306, ++ DB_ROLL_PTR=0x85000001390110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/t/table_flags.test b/mysql-test/suite/innodb/t/table_flags.test index 4d3afcb2dec..59ae0a69ae6 100644 --- a/mysql-test/suite/innodb/t/table_flags.test +++ b/mysql-test/suite/innodb/t/table_flags.test @@ -1,6 +1,7 @@ --source include/innodb_page_size.inc # Embedded server tests do not support restarting --source include/not_embedded.inc +--source include/maybe_debug.inc --disable_query_log call mtr.add_suppression("InnoDB: New log files created, LSN="); @@ -22,6 +23,9 @@ let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags; --let $d=--innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir --let $d=$d --innodb-data-file-path=ibdata1:10M:autoextend --let $d=$d --innodb-undo-tablespaces=0 +if ($have_debug) { +--let $d=$d --debug=d,create_and_drop_garbage +} --let $restart_parameters=$d --innodb-stats-persistent=0 --innodb-file-format=1 --source include/restart_mysqld.inc -- cgit v1.2.1 From dc91ea5bb762f8ef9712babd8661ed6ae31bf2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 30 Oct 2018 13:29:19 +0200 Subject: MDEV-12023 Assertion failure sym_node->table != NULL on startup row_drop_table_for_mysql(): Avoid accessing non-existing dictionary tables. dict_create_or_check_foreign_constraint_tables(): Add debug instrumentation for creating and dropping a table before the creation of any non-core dictionary tables. trx_purge_add_update_undo_to_history(): Adjust a debug assertion, so that it will not fail due to the test instrumentation. --- .../suite/innodb/r/table_flags,32k,debug.rdiff | 134 +++++++++++++++++++++ .../suite/innodb/r/table_flags,32k,release.rdiff | 105 ++++++++++++++++ mysql-test/suite/innodb/r/table_flags,32k.rdiff | 105 ---------------- .../suite/innodb/r/table_flags,4k,debug.rdiff | 133 ++++++++++++++++++++ .../suite/innodb/r/table_flags,4k,release.rdiff | 92 ++++++++++++++ mysql-test/suite/innodb/r/table_flags,4k.rdiff | 92 -------------- .../suite/innodb/r/table_flags,64k,debug.rdiff | 134 +++++++++++++++++++++ .../suite/innodb/r/table_flags,64k,release.rdiff | 105 ++++++++++++++++ mysql-test/suite/innodb/r/table_flags,64k.rdiff | 105 ---------------- .../suite/innodb/r/table_flags,8k,debug.rdiff | 133 ++++++++++++++++++++ .../suite/innodb/r/table_flags,8k,release.rdiff | 92 ++++++++++++++ mysql-test/suite/innodb/r/table_flags,8k.rdiff | 92 -------------- mysql-test/suite/innodb/r/table_flags,debug.rdiff | 133 ++++++++++++++++++++ mysql-test/suite/innodb/t/table_flags.test | 4 + 14 files changed, 1065 insertions(+), 394 deletions(-) create mode 100644 mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,32k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,32k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,4k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,4k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,64k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,64k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,8k,release.rdiff delete mode 100644 mysql-test/suite/innodb/r/table_flags,8k.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,debug.rdiff (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff new file mode 100644 index 00000000000..4527a2ebaf2 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff @@ -0,0 +1,134 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,32k,debug.reject +@@ -5,96 +5,98 @@ + SET innodb_strict_mode=OFF; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. + SET innodb_strict_mode=ON; + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012c016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012c0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501b8 (NAME='SYS_TABLESPACES', ++header=0x040028150209 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000030150244 (NAME='SYS_VIRTUAL', ++header=0x000038150251 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, + DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ ID=0x0000000000000010, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000040150288 (NAME='test/tc', ++header=0x000040150295 (NAME='test/tc', + DB_TRX_ID=0x000000000308, + DB_ROLL_PTR=0x84000001380110, +- ID=0x0000000000000011, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x000048150310 (NAME='test/td', ++header=0x00004815031d (NAME='test/td', + DB_TRX_ID=0x00000000030a, + DB_ROLL_PTR=0x85000001390110, +- ID=0x0000000000000012, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x000058150200 (NAME='test/tp', ++header=0x00005815008d (NAME='test/tp', + DB_TRX_ID=0x00000000030e, + DB_ROLL_PTR=0x870000013b0110, +- ID=0x0000000000000014, ++ ID=0x0000000000000015, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x0000381502cc (NAME='test/tr', ++header=0x0000101502d9 (NAME='test/tr', + DB_TRX_ID=0x000000000306, + DB_ROLL_PTR=0x83000001370110, +- ID=0x0000000000000010, ++ ID=0x0000000000000011, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -104,9 +106,9 @@ + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, + DB_ROLL_PTR=0x860000013a0110, +- ID=0x0000000000000013, ++ ID=0x0000000000000014, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,32k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,32k,release.rdiff new file mode 100644 index 00000000000..ea2d7048bb7 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,32k,release.rdiff @@ -0,0 +1,105 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,32k.reject +@@ -5,6 +5,8 @@ + SET innodb_strict_mode=OFF; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. + SET innodb_strict_mode=ON; + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; +@@ -13,7 +15,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000001310194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +25,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x800000012c0110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +35,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x800000012c0201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +45,7 @@ + SPACE=0x00000000) + header=0x0400201501b8 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000001310110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +55,7 @@ + SPACE=0x00000000) + header=0x000030150244 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x82000001340110, + ID=0x000000000000000f, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -63,7 +65,7 @@ + SPACE=0x00000000) + header=0x000040150288 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, ++ DB_ROLL_PTR=0x84000001370110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -73,7 +75,7 @@ + SPACE=0x00000002) + header=0x000048150310 (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, ++ DB_ROLL_PTR=0x85000001380110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +85,7 @@ + SPACE=0x00000003) + header=0x000058150200 (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, ++ DB_ROLL_PTR=0x870000013a0110, + ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, +@@ -93,7 +95,7 @@ + SPACE=0x00000005) + header=0x0000381502cc (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, ++ DB_ROLL_PTR=0x83000001360110, + ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -103,10 +105,10 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, ++ DB_ROLL_PTR=0x86000001390110, + ID=0x0000000000000013, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,32k.rdiff b/mysql-test/suite/innodb/r/table_flags,32k.rdiff deleted file mode 100644 index ea2d7048bb7..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,32k.rdiff +++ /dev/null @@ -1,105 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,32k.reject -@@ -5,6 +5,8 @@ - SET innodb_strict_mode=OFF; - CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED - KEY_BLOCK_SIZE=1; -+Warnings: -+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. - SET innodb_strict_mode=ON; - CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC - PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; -@@ -13,7 +15,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000001310194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +25,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x800000012c0110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +35,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x800000012c0201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +45,7 @@ - SPACE=0x00000000) - header=0x0400201501b8 (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000001310110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +55,7 @@ - SPACE=0x00000000) - header=0x000030150244 (NAME='SYS_VIRTUAL', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x82000001340110, - ID=0x000000000000000f, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -63,7 +65,7 @@ - SPACE=0x00000000) - header=0x000040150288 (NAME='test/tc', - DB_TRX_ID=0x000000000308, -- DB_ROLL_PTR=0x84000001380110, -+ DB_ROLL_PTR=0x84000001370110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -73,7 +75,7 @@ - SPACE=0x00000002) - header=0x000048150310 (NAME='test/td', - DB_TRX_ID=0x00000000030a, -- DB_ROLL_PTR=0x85000001390110, -+ DB_ROLL_PTR=0x85000001380110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +85,7 @@ - SPACE=0x00000003) - header=0x000058150200 (NAME='test/tp', - DB_TRX_ID=0x00000000030e, -- DB_ROLL_PTR=0x870000013b0110, -+ DB_ROLL_PTR=0x870000013a0110, - ID=0x0000000000000014, - N_COLS=0x80000001, - TYPE=0x000009a1, -@@ -93,7 +95,7 @@ - SPACE=0x00000005) - header=0x0000381502cc (NAME='test/tr', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x83000001370110, -+ DB_ROLL_PTR=0x83000001360110, - ID=0x0000000000000010, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -103,10 +105,10 @@ - SPACE=0x00000001) - header=0x000050150074 (NAME='test/tz', - DB_TRX_ID=0x00000000030c, -- DB_ROLL_PTR=0x860000013a0110, -+ DB_ROLL_PTR=0x86000001390110, - ID=0x0000000000000013, - N_COLS=0x80000001, -- TYPE=0x00000023, -+ TYPE=0x00000021, - MIX_ID=0x0000000000000000, - MIX_LEN=0x00000050, - CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff new file mode 100644 index 00000000000..b7d24f1b2be --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff @@ -0,0 +1,133 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,4k,debug.reject +@@ -10,91 +10,91 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ DB_ROLL_PTR=0x81000003270194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x8000000320016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x80000003200260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501b8 (NAME='SYS_TABLESPACES', ++header=0x040028150209 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ DB_ROLL_PTR=0x81000003270110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000030150244 (NAME='SYS_VIRTUAL', ++header=0x000038150251 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ DB_ROLL_PTR=0x820000032b0110, ++ ID=0x0000000000000010, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000040150288 (NAME='test/tc', ++header=0x000040150295 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, +- ID=0x0000000000000011, ++ DB_ROLL_PTR=0x840000032f0110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x000048150310 (NAME='test/td', ++header=0x00004815031d (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, +- ID=0x0000000000000012, ++ DB_ROLL_PTR=0x85000003300110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x000058150200 (NAME='test/tp', ++header=0x00005815008d (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, +- ID=0x0000000000000014, ++ DB_ROLL_PTR=0x87000003320110, ++ ID=0x0000000000000015, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x0000381502cc (NAME='test/tr', ++header=0x0000101502d9 (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, +- ID=0x0000000000000010, ++ DB_ROLL_PTR=0x830000032d0110, ++ ID=0x0000000000000011, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -103,8 +103,8 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, +- ID=0x0000000000000013, ++ DB_ROLL_PTR=0x86000003310110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff new file mode 100644 index 00000000000..0e469ee631b --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff @@ -0,0 +1,92 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,4k.reject +@@ -13,7 +13,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000003260194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +23,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x80000003200110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +33,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x80000003200201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +43,7 @@ + SPACE=0x00000000) + header=0x0400201501b8 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000003260110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +53,7 @@ + SPACE=0x00000000) + header=0x000030150244 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x820000032a0110, + ID=0x000000000000000f, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -63,7 +63,7 @@ + SPACE=0x00000000) + header=0x000040150288 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, ++ DB_ROLL_PTR=0x840000032d0110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -73,7 +73,7 @@ + SPACE=0x00000002) + header=0x000048150310 (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, ++ DB_ROLL_PTR=0x850000032f0110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +83,7 @@ + SPACE=0x00000003) + header=0x000058150200 (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, ++ DB_ROLL_PTR=0x87000003310110, + ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, +@@ -93,7 +93,7 @@ + SPACE=0x00000005) + header=0x0000381502cc (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, ++ DB_ROLL_PTR=0x830000032c0110, + ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -103,7 +103,7 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, ++ DB_ROLL_PTR=0x86000003300110, + ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,4k.rdiff b/mysql-test/suite/innodb/r/table_flags,4k.rdiff deleted file mode 100644 index 0e469ee631b..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,4k.rdiff +++ /dev/null @@ -1,92 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,4k.reject -@@ -13,7 +13,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000003260194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +23,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x80000003200110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +33,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x80000003200201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +43,7 @@ - SPACE=0x00000000) - header=0x0400201501b8 (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000003260110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +53,7 @@ - SPACE=0x00000000) - header=0x000030150244 (NAME='SYS_VIRTUAL', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x820000032a0110, - ID=0x000000000000000f, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -63,7 +63,7 @@ - SPACE=0x00000000) - header=0x000040150288 (NAME='test/tc', - DB_TRX_ID=0x000000000308, -- DB_ROLL_PTR=0x84000001380110, -+ DB_ROLL_PTR=0x840000032d0110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -73,7 +73,7 @@ - SPACE=0x00000002) - header=0x000048150310 (NAME='test/td', - DB_TRX_ID=0x00000000030a, -- DB_ROLL_PTR=0x85000001390110, -+ DB_ROLL_PTR=0x850000032f0110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +83,7 @@ - SPACE=0x00000003) - header=0x000058150200 (NAME='test/tp', - DB_TRX_ID=0x00000000030e, -- DB_ROLL_PTR=0x870000013b0110, -+ DB_ROLL_PTR=0x87000003310110, - ID=0x0000000000000014, - N_COLS=0x80000001, - TYPE=0x000009a1, -@@ -93,7 +93,7 @@ - SPACE=0x00000005) - header=0x0000381502cc (NAME='test/tr', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x83000001370110, -+ DB_ROLL_PTR=0x830000032c0110, - ID=0x0000000000000010, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -103,7 +103,7 @@ - SPACE=0x00000001) - header=0x000050150074 (NAME='test/tz', - DB_TRX_ID=0x00000000030c, -- DB_ROLL_PTR=0x860000013a0110, -+ DB_ROLL_PTR=0x86000003300110, - ID=0x0000000000000013, - N_COLS=0x80000001, - TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff new file mode 100644 index 00000000000..54f3fd451be --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff @@ -0,0 +1,134 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,64k,debug.reject +@@ -5,96 +5,98 @@ + SET innodb_strict_mode=OFF; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. + SET innodb_strict_mode=ON; + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012c016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012c0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501b8 (NAME='SYS_TABLESPACES', ++header=0x040028150209 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000030150244 (NAME='SYS_VIRTUAL', ++header=0x000038150251 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, + DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ ID=0x0000000000000010, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000040150288 (NAME='test/tc', ++header=0x000040150295 (NAME='test/tc', + DB_TRX_ID=0x000000000308, + DB_ROLL_PTR=0x84000001380110, +- ID=0x0000000000000011, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x000048150310 (NAME='test/td', ++header=0x00004815031d (NAME='test/td', + DB_TRX_ID=0x00000000030a, + DB_ROLL_PTR=0x85000001390110, +- ID=0x0000000000000012, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x000058150200 (NAME='test/tp', ++header=0x00005815008d (NAME='test/tp', + DB_TRX_ID=0x00000000030e, + DB_ROLL_PTR=0x870000013b0110, +- ID=0x0000000000000014, ++ ID=0x0000000000000015, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x0000381502cc (NAME='test/tr', ++header=0x0000101502d9 (NAME='test/tr', + DB_TRX_ID=0x000000000306, + DB_ROLL_PTR=0x83000001370110, +- ID=0x0000000000000010, ++ ID=0x0000000000000011, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -104,9 +106,9 @@ + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, + DB_ROLL_PTR=0x860000013a0110, +- ID=0x0000000000000013, ++ ID=0x0000000000000014, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,64k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,64k,release.rdiff new file mode 100644 index 00000000000..ce2d7faa925 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,64k,release.rdiff @@ -0,0 +1,105 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,64k.reject +@@ -5,6 +5,8 @@ + SET innodb_strict_mode=OFF; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. + SET innodb_strict_mode=ON; + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; +@@ -13,7 +15,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000001310194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +25,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x800000012c0110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +35,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x800000012c0201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +45,7 @@ + SPACE=0x00000000) + header=0x0400201501b8 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000001310110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +55,7 @@ + SPACE=0x00000000) + header=0x000030150244 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x82000001340110, + ID=0x000000000000000f, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -63,7 +65,7 @@ + SPACE=0x00000000) + header=0x000040150288 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, ++ DB_ROLL_PTR=0x84000001370110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -73,7 +75,7 @@ + SPACE=0x00000002) + header=0x000048150310 (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, ++ DB_ROLL_PTR=0x85000001380110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +85,7 @@ + SPACE=0x00000003) + header=0x000058150200 (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, ++ DB_ROLL_PTR=0x870000013a0110, + ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, +@@ -93,7 +95,7 @@ + SPACE=0x00000005) + header=0x0000381502cc (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, ++ DB_ROLL_PTR=0x83000001360110, + ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -103,10 +105,10 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, ++ DB_ROLL_PTR=0x86000001390110, + ID=0x0000000000000013, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,64k.rdiff b/mysql-test/suite/innodb/r/table_flags,64k.rdiff deleted file mode 100644 index ce2d7faa925..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,64k.rdiff +++ /dev/null @@ -1,105 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,64k.reject -@@ -5,6 +5,8 @@ - SET innodb_strict_mode=OFF; - CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED - KEY_BLOCK_SIZE=1; -+Warnings: -+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=DYNAMIC. - SET innodb_strict_mode=ON; - CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC - PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; -@@ -13,7 +15,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000001310194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +25,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x800000012c0110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +35,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x800000012c0201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +45,7 @@ - SPACE=0x00000000) - header=0x0400201501b8 (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000001310110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +55,7 @@ - SPACE=0x00000000) - header=0x000030150244 (NAME='SYS_VIRTUAL', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x82000001340110, - ID=0x000000000000000f, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -63,7 +65,7 @@ - SPACE=0x00000000) - header=0x000040150288 (NAME='test/tc', - DB_TRX_ID=0x000000000308, -- DB_ROLL_PTR=0x84000001380110, -+ DB_ROLL_PTR=0x84000001370110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -73,7 +75,7 @@ - SPACE=0x00000002) - header=0x000048150310 (NAME='test/td', - DB_TRX_ID=0x00000000030a, -- DB_ROLL_PTR=0x85000001390110, -+ DB_ROLL_PTR=0x85000001380110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +85,7 @@ - SPACE=0x00000003) - header=0x000058150200 (NAME='test/tp', - DB_TRX_ID=0x00000000030e, -- DB_ROLL_PTR=0x870000013b0110, -+ DB_ROLL_PTR=0x870000013a0110, - ID=0x0000000000000014, - N_COLS=0x80000001, - TYPE=0x000009a1, -@@ -93,7 +95,7 @@ - SPACE=0x00000005) - header=0x0000381502cc (NAME='test/tr', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x83000001370110, -+ DB_ROLL_PTR=0x83000001360110, - ID=0x0000000000000010, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -103,10 +105,10 @@ - SPACE=0x00000001) - header=0x000050150074 (NAME='test/tz', - DB_TRX_ID=0x00000000030c, -- DB_ROLL_PTR=0x860000013a0110, -+ DB_ROLL_PTR=0x86000001390110, - ID=0x0000000000000013, - N_COLS=0x80000001, -- TYPE=0x00000023, -+ TYPE=0x00000021, - MIX_ID=0x0000000000000000, - MIX_LEN=0x00000050, - CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff new file mode 100644 index 00000000000..3e45c3cfe84 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff @@ -0,0 +1,133 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,8k,debug.reject +@@ -10,91 +10,91 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ DB_ROLL_PTR=0x81000001d80194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x80000001d1016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x80000001d10260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501b8 (NAME='SYS_TABLESPACES', ++header=0x040028150209 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ DB_ROLL_PTR=0x81000001d80110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000030150244 (NAME='SYS_VIRTUAL', ++header=0x000038150251 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ DB_ROLL_PTR=0x82000001db0110, ++ ID=0x0000000000000010, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000040150288 (NAME='test/tc', ++header=0x000040150295 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, +- ID=0x0000000000000011, ++ DB_ROLL_PTR=0x84000001de0110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x000048150310 (NAME='test/td', ++header=0x00004815031d (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, +- ID=0x0000000000000012, ++ DB_ROLL_PTR=0x85000001df0110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x000058150200 (NAME='test/tp', ++header=0x00005815008d (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, +- ID=0x0000000000000014, ++ DB_ROLL_PTR=0x87000001e10110, ++ ID=0x0000000000000015, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x0000381502cc (NAME='test/tr', ++header=0x0000101502d9 (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, +- ID=0x0000000000000010, ++ DB_ROLL_PTR=0x83000001dd0110, ++ ID=0x0000000000000011, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -103,8 +103,8 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, +- ID=0x0000000000000013, ++ DB_ROLL_PTR=0x86000001e00110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff new file mode 100644 index 00000000000..d5b5731b305 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff @@ -0,0 +1,92 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,8k.reject +@@ -13,7 +13,7 @@ + header=0x01000003016e (NAME=0x696e66696d756d00) + header=0x00002815008d (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, ++ DB_ROLL_PTR=0x81000001d70194, + ID=0x000000000000000e, + N_COLS=0x00000002, + TYPE=0x00000001, +@@ -23,7 +23,7 @@ + SPACE=0x00000000) + header=0x0000101500d5 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, ++ DB_ROLL_PTR=0x80000001d10110, + ID=0x000000000000000b, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -33,7 +33,7 @@ + SPACE=0x00000000) + header=0x000018150122 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, ++ DB_ROLL_PTR=0x80000001d10201, + ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, +@@ -43,7 +43,7 @@ + SPACE=0x00000000) + header=0x0400201501b8 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, ++ DB_ROLL_PTR=0x81000001d70110, + ID=0x000000000000000d, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -53,7 +53,7 @@ + SPACE=0x00000000) + header=0x000030150244 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, ++ DB_ROLL_PTR=0x82000001da0110, + ID=0x000000000000000f, + N_COLS=0x00000003, + TYPE=0x00000001, +@@ -63,7 +63,7 @@ + SPACE=0x00000000) + header=0x000040150288 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, ++ DB_ROLL_PTR=0x84000001dd0110, + ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, +@@ -73,7 +73,7 @@ + SPACE=0x00000002) + header=0x000048150310 (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, ++ DB_ROLL_PTR=0x85000001de0110, + ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, +@@ -83,7 +83,7 @@ + SPACE=0x00000003) + header=0x000058150200 (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, ++ DB_ROLL_PTR=0x87000001e00110, + ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, +@@ -93,7 +93,7 @@ + SPACE=0x00000005) + header=0x0000381502cc (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, ++ DB_ROLL_PTR=0x83000001dc0110, + ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, +@@ -103,7 +103,7 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, ++ DB_ROLL_PTR=0x86000001df0110, + ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,8k.rdiff b/mysql-test/suite/innodb/r/table_flags,8k.rdiff deleted file mode 100644 index d5b5731b305..00000000000 --- a/mysql-test/suite/innodb/r/table_flags,8k.rdiff +++ /dev/null @@ -1,92 +0,0 @@ ---- suite/innodb/r/table_flags.result -+++ suite/innodb/r/table_flags,8k.reject -@@ -13,7 +13,7 @@ - header=0x01000003016e (NAME=0x696e66696d756d00) - header=0x00002815008d (NAME='SYS_DATAFILES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320194, -+ DB_ROLL_PTR=0x81000001d70194, - ID=0x000000000000000e, - N_COLS=0x00000002, - TYPE=0x00000001, -@@ -23,7 +23,7 @@ - SPACE=0x00000000) - header=0x0000101500d5 (NAME='SYS_FOREIGN', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0110, -+ DB_ROLL_PTR=0x80000001d10110, - ID=0x000000000000000b, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -33,7 +33,7 @@ - SPACE=0x00000000) - header=0x000018150122 (NAME='SYS_FOREIGN_COLS', - DB_TRX_ID=0x000000000300, -- DB_ROLL_PTR=0x800000012d0201, -+ DB_ROLL_PTR=0x80000001d10201, - ID=0x000000000000000c, - N_COLS=0x00000004, - TYPE=0x00000001, -@@ -43,7 +43,7 @@ - SPACE=0x00000000) - header=0x0400201501b8 (NAME='SYS_TABLESPACES', - DB_TRX_ID=0x000000000302, -- DB_ROLL_PTR=0x81000001320110, -+ DB_ROLL_PTR=0x81000001d70110, - ID=0x000000000000000d, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -53,7 +53,7 @@ - SPACE=0x00000000) - header=0x000030150244 (NAME='SYS_VIRTUAL', - DB_TRX_ID=0x000000000304, -- DB_ROLL_PTR=0x82000001350110, -+ DB_ROLL_PTR=0x82000001da0110, - ID=0x000000000000000f, - N_COLS=0x00000003, - TYPE=0x00000001, -@@ -63,7 +63,7 @@ - SPACE=0x00000000) - header=0x000040150288 (NAME='test/tc', - DB_TRX_ID=0x000000000308, -- DB_ROLL_PTR=0x84000001380110, -+ DB_ROLL_PTR=0x84000001dd0110, - ID=0x0000000000000011, - N_COLS=0x80000001, - TYPE=0x00000001, -@@ -73,7 +73,7 @@ - SPACE=0x00000002) - header=0x000048150310 (NAME='test/td', - DB_TRX_ID=0x00000000030a, -- DB_ROLL_PTR=0x85000001390110, -+ DB_ROLL_PTR=0x85000001de0110, - ID=0x0000000000000012, - N_COLS=0x80000001, - TYPE=0x00000021, -@@ -83,7 +83,7 @@ - SPACE=0x00000003) - header=0x000058150200 (NAME='test/tp', - DB_TRX_ID=0x00000000030e, -- DB_ROLL_PTR=0x870000013b0110, -+ DB_ROLL_PTR=0x87000001e00110, - ID=0x0000000000000014, - N_COLS=0x80000001, - TYPE=0x000009a1, -@@ -93,7 +93,7 @@ - SPACE=0x00000005) - header=0x0000381502cc (NAME='test/tr', - DB_TRX_ID=0x000000000306, -- DB_ROLL_PTR=0x83000001370110, -+ DB_ROLL_PTR=0x83000001dc0110, - ID=0x0000000000000010, - N_COLS=0x00000001, - TYPE=0x00000001, -@@ -103,7 +103,7 @@ - SPACE=0x00000001) - header=0x000050150074 (NAME='test/tz', - DB_TRX_ID=0x00000000030c, -- DB_ROLL_PTR=0x860000013a0110, -+ DB_ROLL_PTR=0x86000001df0110, - ID=0x0000000000000013, - N_COLS=0x80000001, - TYPE=0x00000023, diff --git a/mysql-test/suite/innodb/r/table_flags,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,debug.rdiff new file mode 100644 index 00000000000..fef75cb3193 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,debug.rdiff @@ -0,0 +1,133 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,debug.reject +@@ -10,91 +10,91 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ DB_ROLL_PTR=0x81000001330194, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012d016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012d0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501b8 (NAME='SYS_TABLESPACES', ++header=0x040028150209 (NAME='SYS_TABLESPACES', + DB_TRX_ID=0x000000000302, +- DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ DB_ROLL_PTR=0x81000001330110, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000030150244 (NAME='SYS_VIRTUAL', ++header=0x000038150251 (NAME='SYS_VIRTUAL', + DB_TRX_ID=0x000000000304, +- DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ DB_ROLL_PTR=0x82000001360110, ++ ID=0x0000000000000010, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000040150288 (NAME='test/tc', ++header=0x000040150295 (NAME='test/tc', + DB_TRX_ID=0x000000000308, +- DB_ROLL_PTR=0x84000001380110, +- ID=0x0000000000000011, ++ DB_ROLL_PTR=0x84000001390110, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x000048150310 (NAME='test/td', ++header=0x00004815031d (NAME='test/td', + DB_TRX_ID=0x00000000030a, +- DB_ROLL_PTR=0x85000001390110, +- ID=0x0000000000000012, ++ DB_ROLL_PTR=0x850000013a0110, ++ ID=0x0000000000000013, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x000058150200 (NAME='test/tp', ++header=0x00005815008d (NAME='test/tp', + DB_TRX_ID=0x00000000030e, +- DB_ROLL_PTR=0x870000013b0110, +- ID=0x0000000000000014, ++ DB_ROLL_PTR=0x870000013c0110, ++ ID=0x0000000000000015, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x0000381502cc (NAME='test/tr', ++header=0x0000101502d9 (NAME='test/tr', + DB_TRX_ID=0x000000000306, +- DB_ROLL_PTR=0x83000001370110, +- ID=0x0000000000000010, ++ DB_ROLL_PTR=0x83000001380110, ++ ID=0x0000000000000011, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -103,8 +103,8 @@ + SPACE=0x00000001) + header=0x000050150074 (NAME='test/tz', + DB_TRX_ID=0x00000000030c, +- DB_ROLL_PTR=0x860000013a0110, +- ID=0x0000000000000013, ++ DB_ROLL_PTR=0x860000013b0110, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x00000023, + MIX_ID=0x0000000000000000, diff --git a/mysql-test/suite/innodb/t/table_flags.test b/mysql-test/suite/innodb/t/table_flags.test index 02d5a744e2c..07fe39664f2 100644 --- a/mysql-test/suite/innodb/t/table_flags.test +++ b/mysql-test/suite/innodb/t/table_flags.test @@ -1,6 +1,7 @@ --source include/innodb_page_size.inc # Embedded server tests do not support restarting --source include/not_embedded.inc +--source include/maybe_debug.inc --disable_query_log call mtr.add_suppression("InnoDB: Table `mysql`\\.`innodb_table_stats` not found"); @@ -28,6 +29,9 @@ let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags; --let $d=--innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir --let $d=$d --innodb-data-file-path=ibdata1:1M:autoextend --let $d=$d --innodb-undo-tablespaces=0 +if ($have_debug) { +--let $d=$d --debug=d,create_and_drop_garbage +} --let $restart_parameters=$d --innodb-stats-persistent=0 --innodb-file-format=1 --source include/restart_mysqld.inc -- cgit v1.2.1 From b92ff45089eb21ede352f5fd18dc69baa4bcb13f Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 31 Oct 2018 10:35:15 +0100 Subject: disabling a crashing test --- mysql-test/suite/innodb/disabled.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/disabled.def b/mysql-test/suite/innodb/disabled.def index 8cae44a3607..e8991f6b851 100644 --- a/mysql-test/suite/innodb/disabled.def +++ b/mysql-test/suite/innodb/disabled.def @@ -9,4 +9,4 @@ # Do not use any TAB characters for whitespace. # ############################################################################## - +table_flags: crashes on assert, Marko to fix -- cgit v1.2.1 From a5cbdd63bc2ff25a52e2e10f84b6aaf59837dbae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 31 Oct 2018 12:08:28 +0200 Subject: Fix innodb.table_flags,debug --- mysql-test/suite/innodb/disabled.def | 2 +- .../suite/innodb/r/table_flags,32k,debug.rdiff | 130 +++++++++++++++++++++ .../suite/innodb/r/table_flags,4k,debug.rdiff | 8 +- .../suite/innodb/r/table_flags,64k,debug.rdiff | 130 +++++++++++++++++++++ .../suite/innodb/r/table_flags,8k,debug.rdiff | 8 +- mysql-test/suite/innodb/r/table_flags,debug.rdiff | 8 +- 6 files changed, 273 insertions(+), 13 deletions(-) create mode 100644 mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff create mode 100644 mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/disabled.def b/mysql-test/suite/innodb/disabled.def index e8991f6b851..8cae44a3607 100644 --- a/mysql-test/suite/innodb/disabled.def +++ b/mysql-test/suite/innodb/disabled.def @@ -9,4 +9,4 @@ # Do not use any TAB characters for whitespace. # ############################################################################## -table_flags: crashes on assert, Marko to fix + diff --git a/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff new file mode 100644 index 00000000000..13fdc5657c4 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff @@ -0,0 +1,130 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,32k,debug.reject +@@ -4,85 +4,87 @@ + CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT. + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', +- DB_TRX_ID=0x000000000301, ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', ++ DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012c016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012c0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501fc (NAME='SYS_TABLESPACES', +- DB_TRX_ID=0x000000000301, ++header=0x040028150209 (NAME='SYS_TABLESPACES', ++ DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000038150240 (NAME='test/tc', +- DB_TRX_ID=0x000000000303, ++header=0x00003815024d (NAME='test/tc', ++ DB_TRX_ID=0x000000000304, + DB_ROLL_PTR=0x83000001360110, +- ID=0x0000000000000010, ++ ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x0000401502c8 (NAME='test/td', +- DB_TRX_ID=0x000000000304, ++header=0x0000401502d5 (NAME='test/td', ++ DB_TRX_ID=0x000000000305, + DB_ROLL_PTR=0x84000001370110, +- ID=0x0000000000000011, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x0000501501b8 (NAME='test/tp', +- DB_TRX_ID=0x000000000306, ++header=0x00005015008d (NAME='test/tp', ++ DB_TRX_ID=0x000000000307, + DB_ROLL_PTR=0x86000001390110, +- ID=0x0000000000000013, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x000030150284 (NAME='test/tr', +- DB_TRX_ID=0x000000000302, ++header=0x000010150291 (NAME='test/tr', ++ DB_TRX_ID=0x000000000303, + DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -90,11 +92,11 @@ + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', +- DB_TRX_ID=0x000000000305, ++ DB_TRX_ID=0x000000000306, + DB_ROLL_PTR=0x85000001380110, +- ID=0x0000000000000012, ++ ID=0x0000000000000013, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff index 83e40b2d3fd..b49aba8f661 100644 --- a/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff +++ b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff @@ -1,7 +1,7 @@ --- suite/innodb/r/table_flags.result +++ suite/innodb/r/table_flags,4k,debug.reject -@@ -10,81 +10,81 @@ - CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +@@ -8,81 +8,81 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; SYS_TABLES clustered index root page (8): N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 -header=0x01000003016e (NAME=0x696e66696d756d00) @@ -97,7 +97,7 @@ + DB_ROLL_PTR=0x86000003300110, + ID=0x0000000000000014, N_COLS=0x80000001, - TYPE=0x00000021, + TYPE=0x000009a1, MIX_ID=0x0000000000000000, MIX_LEN=0x00000050, CLUSTER_NAME=NULL(0 bytes), @@ -113,7 +113,7 @@ N_COLS=0x00000001, TYPE=0x00000001, MIX_ID=0x0000000000000000, -@@ -92,9 +92,9 @@ +@@ -90,9 +90,9 @@ CLUSTER_NAME=NULL(0 bytes), SPACE=0x00000001) header=0x000048150074 (NAME='test/tz', diff --git a/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff new file mode 100644 index 00000000000..dcd5f2329c7 --- /dev/null +++ b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff @@ -0,0 +1,130 @@ +--- suite/innodb/r/table_flags.result ++++ suite/innodb/r/table_flags,64k,debug.reject +@@ -4,85 +4,87 @@ + CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; + CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED + KEY_BLOCK_SIZE=1; ++Warnings: ++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT. + CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; + SYS_TABLES clustered index root page (8): + N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 +-header=0x01000003016e (NAME=0x696e66696d756d00) +-header=0x00002815008d (NAME='SYS_DATAFILES', +- DB_TRX_ID=0x000000000301, ++header=0x0100000301bf (NAME=0x696e66696d756d00) ++header=0x0000301500de (NAME='SYS_DATAFILES', ++ DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320194, +- ID=0x000000000000000e, ++ ID=0x000000000000000f, + N_COLS=0x00000002, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0000101500d5 (NAME='SYS_FOREIGN', ++header=0x000018150126 (NAME='SYS_FOREIGN', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0110, +- ID=0x000000000000000b, ++ DB_ROLL_PTR=0x800000012c016f, ++ ID=0x000000000000000c, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000018150122 (NAME='SYS_FOREIGN_COLS', ++header=0x000020150173 (NAME='SYS_FOREIGN_COLS', + DB_TRX_ID=0x000000000300, +- DB_ROLL_PTR=0x800000012d0201, +- ID=0x000000000000000c, ++ DB_ROLL_PTR=0x800000012c0260, ++ ID=0x000000000000000d, + N_COLS=0x00000004, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x0400201501fc (NAME='SYS_TABLESPACES', +- DB_TRX_ID=0x000000000301, ++header=0x040028150209 (NAME='SYS_TABLESPACES', ++ DB_TRX_ID=0x000000000302, + DB_ROLL_PTR=0x81000001320110, +- ID=0x000000000000000d, ++ ID=0x000000000000000e, + N_COLS=0x00000003, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000040, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000000) +-header=0x000038150240 (NAME='test/tc', +- DB_TRX_ID=0x000000000303, ++header=0x00003815024d (NAME='test/tc', ++ DB_TRX_ID=0x000000000304, + DB_ROLL_PTR=0x83000001360110, +- ID=0x0000000000000010, ++ ID=0x0000000000000011, + N_COLS=0x80000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000002) +-header=0x0000401502c8 (NAME='test/td', +- DB_TRX_ID=0x000000000304, ++header=0x0000401502d5 (NAME='test/td', ++ DB_TRX_ID=0x000000000305, + DB_ROLL_PTR=0x84000001370110, +- ID=0x0000000000000011, ++ ID=0x0000000000000012, + N_COLS=0x80000001, + TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000003) +-header=0x0000501501b8 (NAME='test/tp', +- DB_TRX_ID=0x000000000306, ++header=0x00005015008d (NAME='test/tp', ++ DB_TRX_ID=0x000000000307, + DB_ROLL_PTR=0x86000001390110, +- ID=0x0000000000000013, ++ ID=0x0000000000000014, + N_COLS=0x80000001, + TYPE=0x000009a1, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000005) +-header=0x000030150284 (NAME='test/tr', +- DB_TRX_ID=0x000000000302, ++header=0x000010150291 (NAME='test/tr', ++ DB_TRX_ID=0x000000000303, + DB_ROLL_PTR=0x82000001350110, +- ID=0x000000000000000f, ++ ID=0x0000000000000010, + N_COLS=0x00000001, + TYPE=0x00000001, + MIX_ID=0x0000000000000000, +@@ -90,11 +92,11 @@ + CLUSTER_NAME=NULL(0 bytes), + SPACE=0x00000001) + header=0x000048150074 (NAME='test/tz', +- DB_TRX_ID=0x000000000305, ++ DB_TRX_ID=0x000000000306, + DB_ROLL_PTR=0x85000001380110, +- ID=0x0000000000000012, ++ ID=0x0000000000000013, + N_COLS=0x80000001, +- TYPE=0x00000023, ++ TYPE=0x00000021, + MIX_ID=0x0000000000000000, + MIX_LEN=0x00000050, + CLUSTER_NAME=NULL(0 bytes), diff --git a/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff index 14fa7509c19..0ce96c8eb10 100644 --- a/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff +++ b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff @@ -1,7 +1,7 @@ --- suite/innodb/r/table_flags.result +++ suite/innodb/r/table_flags,8k,debug.reject -@@ -10,81 +10,81 @@ - CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +@@ -8,81 +8,81 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; SYS_TABLES clustered index root page (8): N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 -header=0x01000003016e (NAME=0x696e66696d756d00) @@ -97,7 +97,7 @@ + DB_ROLL_PTR=0x86000001df0110, + ID=0x0000000000000014, N_COLS=0x80000001, - TYPE=0x00000021, + TYPE=0x000009a1, MIX_ID=0x0000000000000000, MIX_LEN=0x00000050, CLUSTER_NAME=NULL(0 bytes), @@ -113,7 +113,7 @@ N_COLS=0x00000001, TYPE=0x00000001, MIX_ID=0x0000000000000000, -@@ -92,9 +92,9 @@ +@@ -90,9 +90,9 @@ CLUSTER_NAME=NULL(0 bytes), SPACE=0x00000001) header=0x000048150074 (NAME='test/tz', diff --git a/mysql-test/suite/innodb/r/table_flags,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,debug.rdiff index d038515ffe5..acc796a0a7f 100644 --- a/mysql-test/suite/innodb/r/table_flags,debug.rdiff +++ b/mysql-test/suite/innodb/r/table_flags,debug.rdiff @@ -1,7 +1,7 @@ --- suite/innodb/r/table_flags.result +++ suite/innodb/r/table_flags,debug.reject -@@ -10,81 +10,81 @@ - CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +@@ -8,81 +8,81 @@ + PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9; SYS_TABLES clustered index root page (8): N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001 -header=0x01000003016e (NAME=0x696e66696d756d00) @@ -97,7 +97,7 @@ + DB_ROLL_PTR=0x860000013a0110, + ID=0x0000000000000014, N_COLS=0x80000001, - TYPE=0x00000021, + TYPE=0x000009a1, MIX_ID=0x0000000000000000, MIX_LEN=0x00000050, CLUSTER_NAME=NULL(0 bytes), @@ -113,7 +113,7 @@ N_COLS=0x00000001, TYPE=0x00000001, MIX_ID=0x0000000000000000, -@@ -92,9 +92,9 @@ +@@ -90,9 +90,9 @@ CLUSTER_NAME=NULL(0 bytes), SPACE=0x00000001) header=0x000048150074 (NAME='test/tz', -- cgit v1.2.1 From 8a346f31b913daa011085afec2b2d38450c73e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 2 Nov 2018 14:17:19 +0200 Subject: =?UTF-8?q?MDEV-17073=20INSERT=E2=80=A6ON=20DUPLICATE=20KEY=20UPDA?= =?UTF-8?q?TE=20became=20more=20deadlock-prone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit thd_rpl_stmt_based(): A new predicate to check if statement-based replication is active. (This can also hold when replication is not in use, but binlog is.) que_thr_stop(), row_ins_duplicate_error_in_clust(), row_ins_sec_index_entry_low(), row_ins(): On a duplicate key error, only lock all index records when statement-based replication is in use. --- .../innodb/include/innodb_binlog.combinations | 3 ++ mysql-test/suite/innodb/include/innodb_binlog.inc | 3 ++ .../innodb/r/auto_increment_dup,skip-log-bin.rdiff | 51 ++++++++++++++++++++++ .../suite/innodb/r/auto_increment_dup.result | 22 ++-------- mysql-test/suite/innodb/t/auto_increment_dup.test | 40 ++++++----------- 5 files changed, 74 insertions(+), 45 deletions(-) create mode 100644 mysql-test/suite/innodb/include/innodb_binlog.combinations create mode 100644 mysql-test/suite/innodb/include/innodb_binlog.inc create mode 100644 mysql-test/suite/innodb/r/auto_increment_dup,skip-log-bin.rdiff (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/include/innodb_binlog.combinations b/mysql-test/suite/innodb/include/innodb_binlog.combinations new file mode 100644 index 00000000000..46d31e733b1 --- /dev/null +++ b/mysql-test/suite/innodb/include/innodb_binlog.combinations @@ -0,0 +1,3 @@ +[log-bin] +log-bin +[skip-log-bin] diff --git a/mysql-test/suite/innodb/include/innodb_binlog.inc b/mysql-test/suite/innodb/include/innodb_binlog.inc new file mode 100644 index 00000000000..3f6ece2422e --- /dev/null +++ b/mysql-test/suite/innodb/include/innodb_binlog.inc @@ -0,0 +1,3 @@ +# See innodb_binlog.combinations +# --log-bin is ignored in the embedded server +--source include/not_embedded.inc diff --git a/mysql-test/suite/innodb/r/auto_increment_dup,skip-log-bin.rdiff b/mysql-test/suite/innodb/r/auto_increment_dup,skip-log-bin.rdiff new file mode 100644 index 00000000000..7b4ec54eed8 --- /dev/null +++ b/mysql-test/suite/innodb/r/auto_increment_dup,skip-log-bin.rdiff @@ -0,0 +1,51 @@ +--- auto_increment_dup.result ++++ auto_increment_dup,skip-log-bin.reject +@@ -89,13 +89,14 @@ + SET DEBUG_SYNC='execute_command_after_close_tables SIGNAL continue'; + affected rows: 0 + INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; +-ERROR HY000: Lock wait timeout exceeded; try restarting transaction ++affected rows: 3 ++info: Records: 3 Duplicates: 0 Warnings: 0 + connection con1; + # + # 2 duplicates + # +-affected rows: 3 +-info: Records: 3 Duplicates: 0 Warnings: 0 ++affected rows: 4 ++info: Records: 3 Duplicates: 1 Warnings: 0 + connection default; + # + # 3 rows +@@ -103,19 +104,21 @@ + SELECT * FROM t1 order by k; + id k c + 1 1 NULL +-2 2 NULL +-3 3 NULL +-affected rows: 3 ++4 2 1 ++2 3 NULL ++5 4 NULL ++6 5 NULL ++affected rows: 5 + INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; +-affected rows: 4 +-info: Records: 3 Duplicates: 1 Warnings: 0 ++affected rows: 6 ++info: Records: 3 Duplicates: 3 Warnings: 0 + SELECT * FROM t1 order by k; + id k c + 1 1 NULL +-2 2 2 +-3 3 NULL +-7 4 NULL +-8 5 NULL ++4 2 2 ++2 3 NULL ++5 4 2 ++6 5 2 + affected rows: 5 + disconnect con1; + disconnect con2; diff --git a/mysql-test/suite/innodb/r/auto_increment_dup.result b/mysql-test/suite/innodb/r/auto_increment_dup.result index fa0921b57a5..1467a459fc1 100644 --- a/mysql-test/suite/innodb/r/auto_increment_dup.result +++ b/mysql-test/suite/innodb/r/auto_increment_dup.result @@ -1,4 +1,3 @@ -drop table if exists t1; set global transaction isolation level repeatable read; CREATE TABLE t1( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -79,20 +78,13 @@ affected rows: 0 # # Parallel execution # -connect con1, localhost, root; connect con2, localhost, root; SET DEBUG_SYNC='now WAIT_FOR write_row_done'; -connection con1; -# -# Connection 1 -# +connect con1, localhost, root; SET DEBUG_SYNC='ha_write_row_end SIGNAL write_row_done WAIT_FOR continue'; affected rows: 0 INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1'; connection con2; -# -# Connection 2 -# affected rows: 0 SET DEBUG_SYNC='execute_command_after_close_tables SIGNAL continue'; affected rows: 0 @@ -140,18 +132,10 @@ k INT, c CHAR(1), UNIQUE KEY(k)) ENGINE=InnoDB; connect con1, localhost, root; -connect con2, localhost, root; -connection con1; -# -# Connection 1 -# SET DEBUG_SYNC='ha_write_row_end SIGNAL continue2 WAIT_FOR continue1'; affected rows: 0 INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1'; -connection con2; -# -# Connection 2 -# +connect con2, localhost, root; SET DEBUG_SYNC='ha_write_row_start WAIT_FOR continue2'; affected rows: 0 SET DEBUG_SYNC='after_mysql_insert SIGNAL continue1'; @@ -159,6 +143,7 @@ affected rows: 0 INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; affected rows: 3 info: Records: 3 Duplicates: 0 Warnings: 0 +disconnect con2; connection con1; affected rows: 4 info: Records: 3 Duplicates: 1 Warnings: 0 @@ -174,7 +159,6 @@ id k c 5 4 NULL 6 5 NULL disconnect con1; -disconnect con2; connection default; DROP TABLE t1; set global transaction isolation level repeatable read; diff --git a/mysql-test/suite/innodb/t/auto_increment_dup.test b/mysql-test/suite/innodb/t/auto_increment_dup.test index 45e4559a038..aa399e5966d 100644 --- a/mysql-test/suite/innodb/t/auto_increment_dup.test +++ b/mysql-test/suite/innodb/t/auto_increment_dup.test @@ -4,11 +4,11 @@ ########################################################################## --source include/have_innodb.inc +--source include/have_debug.inc --source include/have_debug_sync.inc +--source include/innodb_binlog.inc ---disable_warnings -drop table if exists t1; ---enable_warnings +let $stmt= `SELECT @@GLOBAL.log_bin`; set global transaction isolation level repeatable read; @@ -69,29 +69,28 @@ CREATE TABLE t1( k INT, c CHAR(1), UNIQUE KEY(k)) ENGINE=InnoDB; - + --echo # --echo # Parallel execution --echo # ---connect(con1, localhost, root) --connect(con2, localhost, root) - --send SET DEBUG_SYNC='now WAIT_FOR write_row_done' ---connection con1 ---echo # ---echo # Connection 1 ---echo # + +--connect(con1, localhost, root) SET DEBUG_SYNC='ha_write_row_end SIGNAL write_row_done WAIT_FOR continue'; --send INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1' --connection con2 ---echo # ---echo # Connection 2 ---echo # --reap + SET DEBUG_SYNC='execute_command_after_close_tables SIGNAL continue'; +if ($stmt) { --error ER_LOCK_WAIT_TIMEOUT INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; +} +if (!$stmt) { +INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; +} --connection con1 --echo # @@ -138,23 +137,14 @@ CREATE TABLE t1( --enable_info --connect(con1, localhost, root) ---connect(con2, localhost, root) - ---connection con1 - ---echo # ---echo # Connection 1 ---echo # SET DEBUG_SYNC='ha_write_row_end SIGNAL continue2 WAIT_FOR continue1'; --send INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1' ---connection con2 ---echo # ---echo # Connection 2 ---echo # +--connect(con2, localhost, root) SET DEBUG_SYNC='ha_write_row_start WAIT_FOR continue2'; SET DEBUG_SYNC='after_mysql_insert SIGNAL continue1'; INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2'; +--disconnect con2 --connection con1 --reap @@ -167,11 +157,9 @@ SET DEBUG_SYNC='RESET'; SELECT * FROM t1 ORDER BY k; --disconnect con1 ---disconnect con2 --connection default DROP TABLE t1; set global transaction isolation level repeatable read; - -- cgit v1.2.1 From 03977e8273cbd33c3cbfec191ceee856f973ce1a Mon Sep 17 00:00:00 2001 From: Eugene Kosov Date: Thu, 25 Oct 2018 21:36:24 +0300 Subject: MDEV-13671 InnoDB should use case-insensitive column name comparisons like the rest of the server Problem affects INPLACE ALTER rename columns. innobase_rename_column_try(): some strcmp() was replaced with my_strcasecmp(), queries to update data dictionary was updated to not match column name case. --- mysql-test/suite/innodb/r/innodb-alter.result | 138 ++++++++++++++++++++++++-- mysql-test/suite/innodb/t/innodb-alter.test | 101 ++++++++++++++++++- 2 files changed, 229 insertions(+), 10 deletions(-) (limited to 'mysql-test/suite/innodb') diff --git a/mysql-test/suite/innodb/r/innodb-alter.result b/mysql-test/suite/innodb/r/innodb-alter.result index bd82cc8a764..2f9b832328b 100644 --- a/mysql-test/suite/innodb/r/innodb-alter.result +++ b/mysql-test/suite/innodb/r/innodb-alter.result @@ -714,6 +714,7 @@ t2 CREATE TABLE `t2` ( CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c2`) REFERENCES `t1` (`c1`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ALTER TABLE t1 CHANGE COLUMN c1 C1 INT; +ALTER TABLE t2 CHANGE COLUMN c2 C2 INT; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -723,24 +724,147 @@ t1 CREATE TABLE `t1` ( SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( - `c2` int(11) NOT NULL, - KEY `c2` (`c2`), + `C2` int(11) DEFAULT NULL, + KEY `c2` (`C2`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c2`) REFERENCES `t1` (`c1`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 +ALTER TABLE t1 CHANGE COLUMN C1 c5 INT; +ALTER TABLE t2 CHANGE COLUMN C2 c6 INT; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `C1` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`C1`) + `c5` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`c5`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( - `c2` int(11) NOT NULL, - KEY `c2` (`c2`), - CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c2`) REFERENCES `t1` (`c1`) + `c6` int(11) DEFAULT NULL, + KEY `c2` (`c6`), + CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c6`) REFERENCES `t1` (`c5`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID +WHERE T.NAME='test/t1'; +NAME +c5 +SELECT F.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS F INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_INDEXES I ON F.INDEX_ID=I.INDEX_ID INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON I.TABLE_ID=T.TABLE_ID +WHERE T.NAME='test/t1' AND I.NAME='PRIMARY'; +NAME +c5 +SELECT C.REF_COL_NAME, C.FOR_COL_NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS C INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_FOREIGN F ON C.ID=F.ID +WHERE F.FOR_NAME='test/t2'; +REF_COL_NAME FOR_COL_NAME +c5 c6 DROP TABLE t2, t1; +# virtual columns case too +CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB; +ALTER TABLE t1 CHANGE COLUMN a A INT; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `A` int(11) DEFAULT NULL, + `b` int(11) AS (a) VIRTUAL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID +WHERE T.NAME='test/t1'; +NAME +a +DROP TABLE t1; +# different FOREIGN KEY cases +CREATE TABLE t1 ( +a INT UNIQUE KEY, +b INT UNIQUE KEY, +c INT UNIQUE KEY, +d INT UNIQUE KEY +) ENGINE=INNODB; +CREATE TABLE t2 ( +aa INT, +bb INT, +cc INT, +dd INT +) ENGINE=INNODB; +INSERT INTO t1 VALUES (1, 1, 1, 1); +INSERT INTO t2 VALUES (1, 1, 1, 1); +ALTER TABLE t1 CHANGE a A INT, ALGORITHM=INPLACE; +ALTER TABLE t1 CHANGE c C INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE cc CC INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE dd DD INT, ALGORITHM=INPLACE; +SET foreign_key_checks=0; +ALTER TABLE t2 +ADD FOREIGN KEY(aa) REFERENCES t1(a), +ADD FOREIGN KEY(bb) REFERENCES t1(b), +ADD FOREIGN KEY(cc) REFERENCES t1(c), +ADD FOREIGN KEY(dd) REFERENCES t1(d), +ALGORITHM=INPLACE; +ALTER TABLE t1 CHANGE b B INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE aa AA INT, ALGORITHM=INPLACE; +ALTER TABLE t1 CHANGE d D INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE bb BB INT, ALGORITHM=INPLACE; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `A` int(11) DEFAULT NULL, + `B` int(11) DEFAULT NULL, + `C` int(11) DEFAULT NULL, + `D` int(11) DEFAULT NULL, + UNIQUE KEY `a` (`A`), + UNIQUE KEY `b` (`B`), + UNIQUE KEY `c` (`C`), + UNIQUE KEY `d` (`D`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `AA` int(11) DEFAULT NULL, + `BB` int(11) DEFAULT NULL, + `CC` int(11) DEFAULT NULL, + `DD` int(11) DEFAULT NULL, + KEY `aa` (`AA`), + KEY `bb` (`BB`), + KEY `CC` (`CC`), + KEY `DD` (`DD`), + CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`), + CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`bb`) REFERENCES `t1` (`b`), + CONSTRAINT `t2_ibfk_3` FOREIGN KEY (`cc`) REFERENCES `t1` (`c`), + CONSTRAINT `t2_ibfk_4` FOREIGN KEY (`dd`) REFERENCES `t1` (`d`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +DELETE FROM t1 WHERE a=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE A=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE b=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE B=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE c=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE C=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE d=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DELETE FROM t1 WHERE D=1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`)) +DROP TABLE t2, t1; +# virtual columns case too +CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB; +ALTER TABLE t1 CHANGE COLUMN a A INT; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `A` int(11) DEFAULT NULL, + `b` int(11) AS (a) VIRTUAL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN +INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID +WHERE T.NAME='test/t1'; +NAME +a +DROP TABLE t1; # # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN # DICT_MEM_TABLE_COL_RENAME_LOW diff --git a/mysql-test/suite/innodb/t/innodb-alter.test b/mysql-test/suite/innodb/t/innodb-alter.test index 0d3cc6f1733..30e3292ec10 100644 --- a/mysql-test/suite/innodb/t/innodb-alter.test +++ b/mysql-test/suite/innodb/t/innodb-alter.test @@ -419,15 +419,110 @@ CREATE TABLE t2(c2 INT NOT NULL, FOREIGN KEY(c2) REFERENCES t1(c1))ENGINE=INNODB SHOW CREATE TABLE t1; SHOW CREATE TABLE t2; ALTER TABLE t1 CHANGE COLUMN c1 C1 INT; +ALTER TABLE t2 CHANGE COLUMN c2 C2 INT; SHOW CREATE TABLE t1; SHOW CREATE TABLE t2; -# FIXME: MDEV-13671 InnoDB should use case-insensitive column name comparisons -# like the rest of the server -#ALTER TABLE t1 CHANGE COLUMN C1 c5 INT; +ALTER TABLE t1 CHANGE COLUMN C1 c5 INT; +ALTER TABLE t2 CHANGE COLUMN C2 c6 INT; SHOW CREATE TABLE t1; SHOW CREATE TABLE t2; + +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID + WHERE T.NAME='test/t1'; + +SELECT F.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS F INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_INDEXES I ON F.INDEX_ID=I.INDEX_ID INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON I.TABLE_ID=T.TABLE_ID + WHERE T.NAME='test/t1' AND I.NAME='PRIMARY'; + +SELECT C.REF_COL_NAME, C.FOR_COL_NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS C INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_FOREIGN F ON C.ID=F.ID + WHERE F.FOR_NAME='test/t2'; + +DROP TABLE t2, t1; +--echo # virtual columns case too +CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB; +ALTER TABLE t1 CHANGE COLUMN a A INT; +SHOW CREATE TABLE t1; +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID + WHERE T.NAME='test/t1'; +DROP TABLE t1; + + +--echo # different FOREIGN KEY cases +CREATE TABLE t1 ( + a INT UNIQUE KEY, + b INT UNIQUE KEY, + c INT UNIQUE KEY, + d INT UNIQUE KEY +) ENGINE=INNODB; +CREATE TABLE t2 ( + aa INT, + bb INT, + cc INT, + dd INT +) ENGINE=INNODB; + +INSERT INTO t1 VALUES (1, 1, 1, 1); +INSERT INTO t2 VALUES (1, 1, 1, 1); + +ALTER TABLE t1 CHANGE a A INT, ALGORITHM=INPLACE; +ALTER TABLE t1 CHANGE c C INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE cc CC INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE dd DD INT, ALGORITHM=INPLACE; + +SET foreign_key_checks=0; +ALTER TABLE t2 + ADD FOREIGN KEY(aa) REFERENCES t1(a), + ADD FOREIGN KEY(bb) REFERENCES t1(b), + ADD FOREIGN KEY(cc) REFERENCES t1(c), + ADD FOREIGN KEY(dd) REFERENCES t1(d), + ALGORITHM=INPLACE; + +ALTER TABLE t1 CHANGE b B INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE aa AA INT, ALGORITHM=INPLACE; + +--source include/restart_mysqld.inc + +ALTER TABLE t1 CHANGE d D INT, ALGORITHM=INPLACE; +ALTER TABLE t2 CHANGE bb BB INT, ALGORITHM=INPLACE; +SHOW CREATE TABLE t1; +SHOW CREATE TABLE t2; + +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE a=1; +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE A=1; + +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE b=1; +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE B=1; + +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE c=1; +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE C=1; + +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE d=1; +--error ER_ROW_IS_REFERENCED_2 +DELETE FROM t1 WHERE D=1; + DROP TABLE t2, t1; +--echo # virtual columns case too +CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB; +ALTER TABLE t1 CHANGE COLUMN a A INT; +SHOW CREATE TABLE t1; +SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN + INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID + WHERE T.NAME='test/t1'; +DROP TABLE t1; + + --echo # --echo # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN --echo # DICT_MEM_TABLE_COL_RENAME_LOW -- cgit v1.2.1