diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2016-12-01 12:56:23 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2016-12-01 13:16:25 +0200 |
commit | 0b66d3f70d365bbb936aae4ca67892c17d68d241 (patch) | |
tree | 36dab26db26d424e66f79a6e5bb410c62a9b6b58 | |
parent | 943baa3ba879442679e83842d0cf67bb66f5517c (diff) | |
download | mariadb-git-0b66d3f70d365bbb936aae4ca67892c17d68d241.tar.gz |
MDEV-11426 Remove InnoDB INFORMATION_SCHEMA.FILES implementation
MySQL 5.7 introduced WL#7943: InnoDB: Implement Information_Schema.Files
to provide a long-term alternative for accessing tablespace metadata.
The INFORMATION_SCHEMA.INNODB_* views are considered internal interfaces
that are subject to change or removal between releases. So, users should
refer to I_S.FILES instead of I_S.INNODB_SYS_TABLESPACES to fetch metadata
about CREATE TABLESPACE.
Because MariaDB 10.2 does not support CREATE TABLESPACE or
CREATE TABLE…TABLESPACE for InnoDB, it does not make sense to support
I_S.FILES either. So, let MariaDB 10.2 omit the code that was added in
MySQL 5.7. After this change, I_S.FILES will report the empty result,
unless some other storage engine in MariaDB 10.2 implements the interface.
(The I_S.FILES interface was originally created for the NDB Cluster.)
-rw-r--r-- | mysql-test/suite/innodb/include/show_i_s_tables.inc | 20 | ||||
-rw-r--r-- | mysql-test/suite/innodb/include/show_i_s_tablespaces.inc | 18 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/r/16k.result | 6 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/r/4k.result | 118 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/r/8k.result | 115 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/r/restart.result | 286 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/4k-master.opt | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/4k.test | 12 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/8k-master.opt | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/8k.test | 10 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/disabled.def | 2 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/restart.opt | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_zip/t/restart.test | 32 | ||||
-rw-r--r-- | storage/innobase/fil/fil0fil.cc | 56 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 26 | ||||
-rw-r--r-- | storage/innobase/handler/i_s.cc | 144 | ||||
-rw-r--r-- | storage/innobase/handler/i_s.h | 13 | ||||
-rw-r--r-- | storage/innobase/include/fil0fil.h | 12 |
18 files changed, 196 insertions, 683 deletions
diff --git a/mysql-test/suite/innodb/include/show_i_s_tables.inc b/mysql-test/suite/innodb/include/show_i_s_tables.inc new file mode 100644 index 00000000000..cb4dffdd4c4 --- /dev/null +++ b/mysql-test/suite/innodb/include/show_i_s_tables.inc @@ -0,0 +1,20 @@ +--echo === information_schema.innodb_sys_tables and innodb_sys_tablespaces === +--disable_query_log +--replace_result #P# #p# #SP# #sp# +--replace_regex /FTS_([0-9a-f_]+)([A-Z0-9_]+)/FTS_AUX_\2/ + +SELECT t.name 'Table Name', + s.name 'Tablespace', + t.flag 'Table Flags', + t.n_cols 'Columns', + t.row_format 'Row Format', + t.zip_page_size 'Zip Size', + t.space_type 'Space Type' + FROM information_schema.innodb_sys_tables t LEFT JOIN + information_schema.innodb_sys_tablespaces s + ON t.space = s.space + WHERE t.name not like 'SYS_%' + AND t.name NOT LIKE 'mysql/%' + AND t.name NOT LIKE 'sys/%' + ORDER BY t.name; +--enable_query_log diff --git a/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc index a79bc3c01a8..90288bb2913 100644 --- a/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc +++ b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc @@ -17,22 +17,4 @@ SELECT s.name 'Space_Name', AND s.name NOT LIKE 'mysql/%' AND s.name NOT LIKE 'sys/%' ORDER BY s.space; - -# This SELECT will not show UNDO or TEMPORARY tablespaces since -# they are only in FILES, not SYS_TABLESPACES. ---echo === information_schema.files === ---replace_regex /innodb_file_per_table.[0-9]+/innodb_file_per_table.##/ /#P#/#p#/ /#SP#/#sp#/ ---replace_result ./ MYSQLD_DATADIR/ $MYSQLD_DATADIR/ MYSQLD_DATADIR/ $MYSQLD_DATADIR MYSQLD_DATADIR/ $MYSQL_TMP_DIR MYSQL_TMP_DIR $INNODB_PAGE_SIZE DEFAULT -SELECT s.name 'Space_Name', - f.file_type 'File_Type', - f.engine 'Engine', - f.status 'Status', - f.tablespace_name 'Tablespace_Name', - f.file_name 'Path' - FROM information_schema.files f, - information_schema.innodb_sys_tablespaces s - WHERE f.file_id = s.space - AND s.name NOT LIKE 'mysql/%' - AND s.name NOT LIKE 'sys/%' - ORDER BY f.file_id; --enable_query_log diff --git a/mysql-test/suite/innodb_zip/r/16k.result b/mysql-test/suite/innodb_zip/r/16k.result index e594ff08281..9e8534417b7 100644 --- a/mysql-test/suite/innodb_zip/r/16k.result +++ b/mysql-test/suite/innodb_zip/r/16k.result @@ -41,12 +41,6 @@ test/t1 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1.ibd test/t2 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t2.ibd test/t3 Single DEFAULT 8192 Compressed MYSQLD_DATADIR/test/t3.ibd test/t4 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t4.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t1.ibd -test/t2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t2.ibd -test/t3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3.ibd -test/t4 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4.ibd DROP TABLE t1, t2, t3, t4; # Test 4) The maximum row size is dependent upon the page size. # Redundant: 8123, Compact: 8126. diff --git a/mysql-test/suite/innodb_zip/r/4k.result b/mysql-test/suite/innodb_zip/r/4k.result index 721943e7f5a..50646fff5d3 100644 --- a/mysql-test/suite/innodb_zip/r/4k.result +++ b/mysql-test/suite/innodb_zip/r/4k.result @@ -20,28 +20,8 @@ WHERE t.table_id = i.table_id AND t.name LIKE 'mysql%' ORDER BY t.name, i.index_id; table_name n_cols table_flags index_name root_page type n_fields merge_threshold -mysql/engine_cost 9 33 PRIMARY 3 3 3 50 -mysql/gtid_executed 6 33 PRIMARY 3 3 2 50 -mysql/help_category 7 33 PRIMARY 3 3 1 50 -mysql/help_category 7 33 name 4 2 1 50 -mysql/help_keyword 5 33 PRIMARY 3 3 1 50 -mysql/help_keyword 5 33 name 4 2 1 50 -mysql/help_relation 5 33 PRIMARY 3 3 2 50 -mysql/help_topic 9 33 PRIMARY 3 3 1 50 -mysql/help_topic 9 33 name 4 2 1 50 mysql/innodb_index_stats 11 33 PRIMARY 3 3 4 50 mysql/innodb_table_stats 9 33 PRIMARY 3 3 2 50 -mysql/plugin 5 33 PRIMARY 3 3 1 50 -mysql/servers 12 33 PRIMARY 3 3 1 50 -mysql/server_cost 7 33 PRIMARY 3 3 1 50 -mysql/slave_master_info 28 33 PRIMARY 3 3 1 50 -mysql/slave_relay_log_info 12 33 PRIMARY 3 3 1 50 -mysql/slave_worker_info 16 33 PRIMARY 3 3 2 50 -mysql/time_zone 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_leap_second 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_name 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_transition 6 33 PRIMARY 3 3 2 50 -mysql/time_zone_transition_type 8 33 PRIMARY 3 3 2 50 CREATE TABLE t1 (a INT KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=innodb; CREATE TABLE t2 (a INT KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=innodb; CREATE TABLE t3 (a INT KEY, b TEXT) ROW_FORMAT=COMPRESSED ENGINE=innodb; @@ -65,12 +45,6 @@ test/t1 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1.ibd test/t2 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t2.ibd test/t3 Single DEFAULT 2048 Compressed MYSQLD_DATADIR/test/t3.ibd test/t4 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t4.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t1.ibd -test/t2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t2.ibd -test/t3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3.ibd -test/t4 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4.ibd DROP TABLE t1, t2, t3, t4; # Test 4) The maximum row size is dependent upon the page size. # Redundant: 1979, Compact: 1982. @@ -153,38 +127,40 @@ ERROR 42000: Specified key was too long; max key length is 768 bytes # in strict mode and converted to 4 in non-strict mode. SET SESSION innodb_strict_mode = ON; CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't1' doesn't have this option +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4. -Error 1031 Table storage engine for 't1' doesn't have this option +Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; -ERROR HY000: Table storage engine for 't1' doesn't have this option +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4. -Error 1031 Table storage engine for 't1' doesn't have this option +Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4 +t1 Compressed row_format=COMPRESSED key_block_size=4 ALTER TABLE t1 KEY_BLOCK_SIZE=2; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2 +t1 Compressed row_format=COMPRESSED key_block_size=2 ALTER TABLE t1 KEY_BLOCK_SIZE=1; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1 +t1 Compressed row_format=COMPRESSED key_block_size=1 ALTER TABLE t1 KEY_BLOCK_SIZE=0; SHOW WARNINGS; Level Code Message @@ -203,7 +179,7 @@ Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16. SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=16 +t1 Compressed row_format=COMPRESSED key_block_size=16 DROP TABLE t1; CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; Warnings: @@ -214,7 +190,7 @@ Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8. SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8 +t1 Compressed row_format=COMPRESSED key_block_size=8 DROP TABLE t1; CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; SHOW WARNINGS; @@ -222,21 +198,21 @@ Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4 +t1 Compressed row_format=COMPRESSED key_block_size=4 ALTER TABLE t1 KEY_BLOCK_SIZE=2; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2 +t1 Compressed row_format=COMPRESSED key_block_size=2 ALTER TABLE t1 KEY_BLOCK_SIZE=1; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1 +t1 Compressed row_format=COMPRESSED key_block_size=1 ALTER TABLE t1 KEY_BLOCK_SIZE=0; SHOW WARNINGS; Level Code Message @@ -253,37 +229,41 @@ SHOW VARIABLES LIKE 'innodb_file_per_table'; Variable_name Value innodb_file_per_table OFF CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; -ERROR HY000: Table storage engine for 't4' doesn't have this option +ERROR HY000: Can't create table `test`.`t4` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. -Error 1031 Table storage engine for 't4' doesn't have this option +Error 1005 Can't create table `test`.`t4` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't5' doesn't have this option +ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. -Error 1031 Table storage engine for 't5' doesn't have this option +Error 1005 Can't create table `test`.`t5` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_format = `Antelope`; Warnings: Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; -ERROR HY000: Table storage engine for 't4' doesn't have this option +ERROR HY000: Can't create table `test`.`t4` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=8 cannot be larger than 4. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope. -Error 1031 Table storage engine for 't4' doesn't have this option +Error 1005 Can't create table `test`.`t4` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't5' doesn't have this option +ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 4. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope. -Error 1031 Table storage engine for 't5' doesn't have this option +Error 1005 Can't create table `test`.`t5` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB SET GLOBAL innodb_file_format = `Barracuda`; Warnings: Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html @@ -307,7 +287,7 @@ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c; CREATE INDEX t1b ON t1 (b(767)); UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d, k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d; -ERROR HY000: Undo log record is too big. +ERROR HY000: Undo log record is too big BEGIN; UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d; UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d,k=@d,l=@d,m=@d, @@ -317,32 +297,32 @@ CREATE INDEX t1c ON t1 (c(767)); UPDATE t1 SET c=@e; CREATE INDEX t1d ON t1 (d(767)); UPDATE t1 SET d=@e; -ERROR HY000: Undo log record is too big. +ERROR HY000: Undo log record is too big CREATE INDEX t1e ON t1 (e(767)); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` blob, - `b` blob, - `c` blob, - `d` blob, - `e` blob, - `f` blob, - `g` blob, - `h` blob, - `i` blob, - `j` blob, - `k` blob, - `l` blob, - `m` blob, - `n` blob, - `o` blob, - `p` blob, - `q` blob, - `r` blob, - `s` blob, - `t` blob, - `u` blob, + `a` blob DEFAULT NULL, + `b` blob DEFAULT NULL, + `c` blob DEFAULT NULL, + `d` blob DEFAULT NULL, + `e` blob DEFAULT NULL, + `f` blob DEFAULT NULL, + `g` blob DEFAULT NULL, + `h` blob DEFAULT NULL, + `i` blob DEFAULT NULL, + `j` blob DEFAULT NULL, + `k` blob DEFAULT NULL, + `l` blob DEFAULT NULL, + `m` blob DEFAULT NULL, + `n` blob DEFAULT NULL, + `o` blob DEFAULT NULL, + `p` blob DEFAULT NULL, + `q` blob DEFAULT NULL, + `r` blob DEFAULT NULL, + `s` blob DEFAULT NULL, + `t` blob DEFAULT NULL, + `u` blob DEFAULT NULL, KEY `t1a` (`a`(767)), KEY `t1b` (`b`(767)), KEY `t1c` (`c`(767)), diff --git a/mysql-test/suite/innodb_zip/r/8k.result b/mysql-test/suite/innodb_zip/r/8k.result index dc2b5ca1363..17ea11880c1 100644 --- a/mysql-test/suite/innodb_zip/r/8k.result +++ b/mysql-test/suite/innodb_zip/r/8k.result @@ -20,28 +20,8 @@ WHERE t.table_id = i.table_id AND t.name LIKE 'mysql%' ORDER BY t.name, i.index_id; table_name n_cols table_flags index_name root_page type n_fields merge_threshold -mysql/engine_cost 9 33 PRIMARY 3 3 3 50 -mysql/gtid_executed 6 33 PRIMARY 3 3 2 50 -mysql/help_category 7 33 PRIMARY 3 3 1 50 -mysql/help_category 7 33 name 4 2 1 50 -mysql/help_keyword 5 33 PRIMARY 3 3 1 50 -mysql/help_keyword 5 33 name 4 2 1 50 -mysql/help_relation 5 33 PRIMARY 3 3 2 50 -mysql/help_topic 9 33 PRIMARY 3 3 1 50 -mysql/help_topic 9 33 name 4 2 1 50 mysql/innodb_index_stats 11 33 PRIMARY 3 3 4 50 mysql/innodb_table_stats 9 33 PRIMARY 3 3 2 50 -mysql/plugin 5 33 PRIMARY 3 3 1 50 -mysql/servers 12 33 PRIMARY 3 3 1 50 -mysql/server_cost 7 33 PRIMARY 3 3 1 50 -mysql/slave_master_info 28 33 PRIMARY 3 3 1 50 -mysql/slave_relay_log_info 12 33 PRIMARY 3 3 1 50 -mysql/slave_worker_info 16 33 PRIMARY 3 3 2 50 -mysql/time_zone 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_leap_second 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_name 5 33 PRIMARY 3 3 1 50 -mysql/time_zone_transition 6 33 PRIMARY 3 3 2 50 -mysql/time_zone_transition_type 8 33 PRIMARY 3 3 2 50 CREATE TABLE t1 (a INT KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=innodb; CREATE TABLE t2 (a INT KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=innodb; CREATE TABLE t3 (a INT KEY, b TEXT) ROW_FORMAT=COMPRESSED ENGINE=innodb; @@ -65,12 +45,6 @@ test/t1 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1.ibd test/t2 Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t2.ibd test/t3 Single DEFAULT 4096 Compressed MYSQLD_DATADIR/test/t3.ibd test/t4 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t4.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t1.ibd -test/t2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t2.ibd -test/t3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3.ibd -test/t4 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4.ibd DROP TABLE t1, t2, t3, t4; # Test 4) The maximum row size is dependent upon the page size. # Redundant: 4027, Compact: 4030. @@ -169,39 +143,40 @@ ERROR 42000: Specified key was too long; max key length is 1536 bytes # strict mode and converted to 8 in non-strict mode. SET SESSION innodb_strict_mode = ON; CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't1' doesn't have this option +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 8. -Error 1031 Table storage engine for 't1' doesn't have this option +Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8 +t1 Compressed row_format=COMPRESSED key_block_size=8 ALTER TABLE t1 KEY_BLOCK_SIZE=4; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4 +t1 Compressed row_format=COMPRESSED key_block_size=4 ALTER TABLE t1 KEY_BLOCK_SIZE=2; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2 +t1 Compressed row_format=COMPRESSED key_block_size=2 ALTER TABLE t1 KEY_BLOCK_SIZE=1; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1 +t1 Compressed row_format=COMPRESSED key_block_size=1 ALTER TABLE t1 KEY_BLOCK_SIZE=0; SHOW WARNINGS; Level Code Message @@ -220,7 +195,7 @@ Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16. SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=16 +t1 Compressed row_format=COMPRESSED key_block_size=16 DROP TABLE t1; CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; SHOW WARNINGS; @@ -228,7 +203,7 @@ Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8 +t1 Compressed row_format=COMPRESSED key_block_size=8 DROP TABLE t1; CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; SHOW WARNINGS; @@ -236,21 +211,21 @@ Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4 +t1 Compressed row_format=COMPRESSED key_block_size=4 ALTER TABLE t1 KEY_BLOCK_SIZE=2; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2 +t1 Compressed row_format=COMPRESSED key_block_size=2 ALTER TABLE t1 KEY_BLOCK_SIZE=1; SHOW WARNINGS; Level Code Message SELECT table_name, row_format, create_options FROM information_schema.tables WHERE table_name = 't1'; table_name row_format create_options -t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1 +t1 Compressed row_format=COMPRESSED key_block_size=1 ALTER TABLE t1 KEY_BLOCK_SIZE=0; SHOW WARNINGS; Level Code Message @@ -267,35 +242,39 @@ SHOW VARIABLES LIKE 'innodb_file_per_table'; Variable_name Value innodb_file_per_table OFF CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; -ERROR HY000: Table storage engine for 't4' doesn't have this option +ERROR HY000: Can't create table `test`.`t4` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. -Error 1031 Table storage engine for 't4' doesn't have this option +Error 1005 Can't create table `test`.`t4` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't5' doesn't have this option +ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 8. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. -Error 1031 Table storage engine for 't5' doesn't have this option +Error 1005 Can't create table `test`.`t5` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_format = `Antelope`; Warnings: Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; -ERROR HY000: Table storage engine for 't4' doesn't have this option +ERROR HY000: Can't create table `test`.`t4` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope. -Error 1031 Table storage engine for 't4' doesn't have this option +Error 1005 Can't create table `test`.`t4` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; -ERROR HY000: Table storage engine for 't5' doesn't have this option +ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message Warning 1478 InnoDB: KEY_BLOCK_SIZE=16 cannot be larger than 8. Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope. -Error 1031 Table storage engine for 't5' doesn't have this option +Error 1005 Can't create table `test`.`t5` (errno: 140 "Wrong create options") +Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB SET GLOBAL innodb_file_format = `Barracuda`; Warnings: Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html @@ -320,7 +299,7 @@ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c; CREATE INDEX t1c ON t1 (c(767)); UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d, k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d; -ERROR HY000: Undo log record is too big. +ERROR HY000: Undo log record is too big BEGIN; UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d; UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d,k=@d,l=@d,m=@d, @@ -341,31 +320,31 @@ UPDATE t1 SET i=@e; CREATE INDEX t1k ON t1 (j(767)); CREATE INDEX t1j ON t1 (j(500)); UPDATE t1 SET j=@e; -ERROR HY000: Undo log record is too big. +ERROR HY000: Undo log record is too big SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` blob, - `b` blob, - `c` blob, - `d` blob, - `e` blob, - `f` blob, - `g` blob, - `h` blob, - `i` blob, - `j` blob, - `k` blob, - `l` blob, - `m` blob, - `n` blob, - `o` blob, - `p` blob, - `q` blob, - `r` blob, - `s` blob, - `t` blob, - `u` blob, + `a` blob DEFAULT NULL, + `b` blob DEFAULT NULL, + `c` blob DEFAULT NULL, + `d` blob DEFAULT NULL, + `e` blob DEFAULT NULL, + `f` blob DEFAULT NULL, + `g` blob DEFAULT NULL, + `h` blob DEFAULT NULL, + `i` blob DEFAULT NULL, + `j` blob DEFAULT NULL, + `k` blob DEFAULT NULL, + `l` blob DEFAULT NULL, + `m` blob DEFAULT NULL, + `n` blob DEFAULT NULL, + `o` blob DEFAULT NULL, + `p` blob DEFAULT NULL, + `q` blob DEFAULT NULL, + `r` blob DEFAULT NULL, + `s` blob DEFAULT NULL, + `t` blob DEFAULT NULL, + `u` blob DEFAULT NULL, KEY `t1a` (`a`(767)), KEY `t1b` (`b`(767)), KEY `t1c` (`c`(767)), diff --git a/mysql-test/suite/innodb_zip/r/restart.result b/mysql-test/suite/innodb_zip/r/restart.result index 5645b1ee310..fdcbc260044 100644 --- a/mysql-test/suite/innodb_zip/r/restart.result +++ b/mysql-test/suite/innodb_zip/r/restart.result @@ -21,7 +21,7 @@ t1_restart CREATE TABLE `t1_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000027 DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT SELECT count(*) FROM t1_restart; @@ -44,7 +44,7 @@ t2_restart CREATE TABLE `t2_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000027 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT SELECT count(*) FROM t2_restart; @@ -67,7 +67,7 @@ t3_restart CREATE TABLE `t3_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000027 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 SELECT count(*) FROM t3_restart; @@ -90,7 +90,7 @@ t4_restart CREATE TABLE `t4_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000027 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC SELECT count(*) FROM t4_restart; @@ -113,7 +113,7 @@ t5_restart CREATE TABLE `t5_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000027 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' SELECT count(*) FROM t5_restart; @@ -142,13 +142,13 @@ t6_restart CREATE TABLE `t6_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) -(PARTITION p0 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB, - PARTITION p1 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB, - PARTITION p2 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB) */ +(PARTITION p0 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB, + PARTITION p1 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB, + PARTITION p2 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB) */ SELECT count(*) FROM t6_restart; count(*) 16 @@ -178,65 +178,21 @@ t7_restart CREATE TABLE `t7_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) SUBPARTITION BY HASH (c1) (PARTITION p0 VALUES LESS THAN (10) - (SUBPARTITION s0 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB, - SUBPARTITION s1 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB), + (SUBPARTITION s0 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB, + SUBPARTITION s1 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB), PARTITION p1 VALUES LESS THAN MAXVALUE - (SUBPARTITION s2 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB, - SUBPARTITION s3 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir/' ENGINE = InnoDB)) */ + (SUBPARTITION s2 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB, + SUBPARTITION s3 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB)) */ SELECT count(*) FROM t7_restart; count(*) 16 # -# Create and insert records into a table that uses a general tablespace. -# -CREATE TABLESPACE s1_restart ADD DATAFILE 's1_restart.ibd'; -CREATE TABLE t8_restart(c1 DOUBLE AUTO_INCREMENT KEY, c2 CHAR(10), c3 VARCHAR(100), c4 DATE, c5 TEXT) -ROW_FORMAT=COMPACT ENGINE=InnoDB TABLESPACE=s1_restart; -INSERT INTO t8_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot'); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -SHOW CREATE TABLE t8_restart; -Table Create Table -t8_restart CREATE TABLE `t8_restart` ( - `c1` double NOT NULL AUTO_INCREMENT, - `c2` char(10) DEFAULT NULL, - `c3` varchar(100) DEFAULT NULL, - `c4` date DEFAULT NULL, - `c5` text, - PRIMARY KEY (`c1`) -) /*!50100 TABLESPACE `s1_restart` */ ENGINE=InnoDB AUTO_INCREMENT=1000000125 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT -SELECT count(*) FROM t8_restart; -count(*) -65 -CREATE TABLE t9_restart(c1 DOUBLE AUTO_INCREMENT KEY, c2 CHAR(10), c3 VARCHAR(100), c4 DATE, c5 TEXT) -ROW_FORMAT=DYNAMIC ENGINE=InnoDB TABLESPACE=s1_restart; -INSERT INTO t9_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot'); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -SHOW CREATE TABLE t9_restart; -Table Create Table -t9_restart CREATE TABLE `t9_restart` ( - `c1` double NOT NULL AUTO_INCREMENT, - `c2` char(10) DEFAULT NULL, - `c3` varchar(100) DEFAULT NULL, - `c4` date DEFAULT NULL, - `c5` text, - PRIMARY KEY (`c1`) -) /*!50100 TABLESPACE `s1_restart` */ ENGINE=InnoDB AUTO_INCREMENT=1000000125 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC -SELECT count(*) FROM t9_restart; -count(*) -65 -# # Show these tables in information_schema. # === information_schema.innodb_sys_tables and innodb_sys_tablespaces === @@ -253,8 +209,6 @@ test/t7_restart#p#p0#sp#s0 test/t7_restart#p#p0#sp#s0 97 8 Dynamic 0 Single test/t7_restart#p#p0#sp#s1 test/t7_restart#p#p0#sp#s1 97 8 Dynamic 0 Single test/t7_restart#p#p1#sp#s2 test/t7_restart#p#p1#sp#s2 97 8 Dynamic 0 Single test/t7_restart#p#p1#sp#s3 test/t7_restart#p#p1#sp#s3 97 8 Dynamic 0 Single -test/t8_restart s1_restart 129 8 Compact 0 General -test/t9_restart s1_restart 161 8 Dynamic 0 General === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1_restart Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1_restart.ibd @@ -269,22 +223,6 @@ test/t7_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t test/t7_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd test/t7_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd test/t7_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -s1_restart General DEFAULT 0 Any MYSQLD_DATADIR/s1_restart.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t1_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t1_restart.ibd -test/t2_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t2_restart.ibd -test/t3_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3_restart.ibd -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t5_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd -test/t6_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd -test/t6_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd -test/t6_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd -test/t7_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd -test/t7_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd -test/t7_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd -test/t7_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -s1_restart TABLESPACE InnoDB NORMAL s1_restart MYSQLD_DATADIR/s1_restart.ibd # # Shutdown the server and list the tablespace OS files # @@ -303,13 +241,13 @@ t6_restart#p#p0.isl t6_restart#p#p1.isl t6_restart#p#p2.isl t6_restart.frm +t6_restart.par t7_restart#p#p0#sp#s0.isl t7_restart#p#p0#sp#s1.isl t7_restart#p#p1#sp#s2.isl t7_restart#p#p1#sp#s3.isl t7_restart.frm -t8_restart.frm -t9_restart.frm +t7_restart.par ---- MYSQL_TMP_DIR/alt_dir test ---- MYSQL_TMP_DIR/alt_dir/test @@ -324,7 +262,6 @@ t7_restart#p#p1#sp#s3.ibd # # Start the server and show that tables are still visible and accessible. # -# restart SHOW VARIABLES LIKE 'innodb_file_per_table'; Variable_name Value innodb_file_per_table ON @@ -335,7 +272,7 @@ t1_restart CREATE TABLE `t1_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000020 DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT SHOW CREATE TABLE t2_restart; @@ -345,7 +282,7 @@ t2_restart CREATE TABLE `t2_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000020 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT SHOW CREATE TABLE t3_restart; @@ -355,7 +292,7 @@ t3_restart CREATE TABLE `t3_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000020 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 SHOW CREATE TABLE t4_restart; @@ -365,7 +302,7 @@ t4_restart CREATE TABLE `t4_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000020 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC SHOW CREATE TABLE t5_restart; @@ -375,7 +312,7 @@ t5_restart CREATE TABLE `t5_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000020 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' SHOW CREATE TABLE t6_restart; @@ -385,7 +322,7 @@ t6_restart CREATE TABLE `t6_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -399,7 +336,7 @@ t7_restart CREATE TABLE `t7_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -410,26 +347,6 @@ SUBPARTITION BY HASH (c1) PARTITION p1 VALUES LESS THAN MAXVALUE (SUBPARTITION s2 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB, SUBPARTITION s3 DATA DIRECTORY = 'MYSQL_TMP_DIR/alt_dir' ENGINE = InnoDB)) */ -SHOW CREATE TABLE t8_restart; -Table Create Table -t8_restart CREATE TABLE `t8_restart` ( - `c1` double NOT NULL AUTO_INCREMENT, - `c2` char(10) DEFAULT NULL, - `c3` varchar(100) DEFAULT NULL, - `c4` date DEFAULT NULL, - `c5` text, - PRIMARY KEY (`c1`) -) /*!50100 TABLESPACE `s1_restart` */ ENGINE=InnoDB AUTO_INCREMENT=1000000110 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT -SHOW CREATE TABLE t9_restart; -Table Create Table -t9_restart CREATE TABLE `t9_restart` ( - `c1` double NOT NULL AUTO_INCREMENT, - `c2` char(10) DEFAULT NULL, - `c3` varchar(100) DEFAULT NULL, - `c4` date DEFAULT NULL, - `c5` text, - PRIMARY KEY (`c1`) -) /*!50100 TABLESPACE `s1_restart` */ ENGINE=InnoDB AUTO_INCREMENT=1000000110 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC INSERT INTO t1_restart (SELECT 0, c2, c3, c4, c5 FROM t1_restart); INSERT INTO t2_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); INSERT INTO t3_restart (SELECT 0, c2, c3, c4, c5 FROM t3_restart); @@ -437,8 +354,6 @@ INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart); INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart); INSERT INTO t6_restart (SELECT 0, c2, c3, c4, c5 FROM t6_restart); INSERT INTO t7_restart (SELECT 0, c2, c3, c4, c5 FROM t7_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t8_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t9_restart); SELECT count(*) FROM t1_restart; count(*) 32 @@ -460,12 +375,6 @@ count(*) SELECT count(*) FROM t7_restart; count(*) 32 -SELECT count(*) FROM t8_restart; -count(*) -130 -SELECT count(*) FROM t9_restart; -count(*) -130 # # Show these tables in information_schema. # @@ -483,8 +392,6 @@ test/t7_restart#p#p0#sp#s0 test/t7_restart#p#p0#sp#s0 97 8 Dynamic 0 Single test/t7_restart#p#p0#sp#s1 test/t7_restart#p#p0#sp#s1 97 8 Dynamic 0 Single test/t7_restart#p#p1#sp#s2 test/t7_restart#p#p1#sp#s2 97 8 Dynamic 0 Single test/t7_restart#p#p1#sp#s3 test/t7_restart#p#p1#sp#s3 97 8 Dynamic 0 Single -test/t8_restart s1_restart 129 8 Compact 0 General -test/t9_restart s1_restart 161 8 Dynamic 0 General === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t1_restart Single DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t1_restart.ibd @@ -499,28 +406,9 @@ test/t7_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t test/t7_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd test/t7_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd test/t7_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -s1_restart General DEFAULT 0 Any MYSQLD_DATADIR/s1_restart.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t1_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t1_restart.ibd -test/t2_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t2_restart.ibd -test/t3_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t3_restart.ibd -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t5_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd -test/t6_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd -test/t6_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd -test/t6_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd -test/t7_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd -test/t7_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd -test/t7_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd -test/t7_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -s1_restart TABLESPACE InnoDB NORMAL s1_restart MYSQLD_DATADIR/s1_restart.ibd DROP TABLE t1_restart; DROP TABLE t2_restart; DROP TABLE t3_restart; -DROP TABLE t8_restart; -DROP TABLE t9_restart; -DROP TABLESPACE s1_restart; # # Truncate the remote tablespaces. # @@ -538,17 +426,6 @@ test/t7_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t test/t7_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd test/t7_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd test/t7_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t5_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd -test/t6_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd -test/t6_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd -test/t6_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd -test/t7_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd -test/t7_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd -test/t7_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd -test/t7_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd INSERT INTO t5_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot'); INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart); INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart); @@ -563,7 +440,7 @@ t5_restart CREATE TABLE `t5_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000012 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' SELECT count(*) FROM t6_restart; @@ -576,7 +453,7 @@ t6_restart CREATE TABLE `t6_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -593,7 +470,7 @@ t7_restart CREATE TABLE `t7_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -618,11 +495,13 @@ t6_restart#p#p0.isl t6_restart#p#p1.isl t6_restart#p#p2.isl t6_restart.frm +t6_restart.par t7_restart#p#p0#sp#s0.isl t7_restart#p#p0#sp#s1.isl t7_restart#p#p1#sp#s2.isl t7_restart#p#p1#sp#s3.isl t7_restart.frm +t7_restart.par ---- MYSQL_TMP_DIR/alt_dir/test t5_restart.ibd t5_restart.ibd.bak @@ -636,7 +515,6 @@ t7_restart#p#p1#sp#s3.ibd # # Start the server and show the tablespaces. # -# restart SHOW VARIABLES LIKE 'innodb_file_per_table'; Variable_name Value innodb_file_per_table ON @@ -651,17 +529,6 @@ test/t7_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t test/t7_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd test/t7_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd test/t7_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t5_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd -test/t6_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd -test/t6_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd -test/t6_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd -test/t7_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd -test/t7_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd -test/t7_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd -test/t7_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd SELECT count(*) FROM t5_restart; count(*) 8 @@ -672,7 +539,7 @@ t5_restart CREATE TABLE `t5_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000009 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' SELECT count(*) FROM t6_restart; @@ -685,7 +552,7 @@ t6_restart CREATE TABLE `t6_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -702,7 +569,7 @@ t7_restart CREATE TABLE `t7_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -719,7 +586,7 @@ SUBPARTITION BY HASH (c1) RENAME TABLE t5_restart TO t55_restart; ERROR 42S01: Table 't55_restart' already exists RENAME TABLE t5_restart TO t55_restart; -ERROR HY000: Error on rename of './test/t5_restart' to './test/t55_restart' (errno: 184 - Tablespace already exists) +ERROR HY000: Error on rename of './test/t5_restart' to './test/t55_restart' (errno: 184 "Tablespace already exists") ---- MYSQL_DATA_DIR/test t4_restart.frm t4_restart.ibd @@ -729,11 +596,13 @@ t6_restart#p#p0.isl t6_restart#p#p1.isl t6_restart#p#p2.isl t6_restart.frm +t6_restart.par t7_restart#p#p0#sp#s0.isl t7_restart#p#p0#sp#s1.isl t7_restart#p#p1#sp#s2.isl t7_restart#p#p1#sp#s3.isl t7_restart.frm +t7_restart.par ---- MYSQL_TMP_DIR/alt_dir/test t5_restart.ibd t6_restart#p#p0.ibd @@ -760,17 +629,6 @@ test/t77_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/ test/t77_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd test/t77_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd test/t77_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t55_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd -test/t66_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd -test/t66_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd -test/t66_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd -test/t77_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd -test/t77_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd -test/t77_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd -test/t77_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart); SELECT count(*) FROM t55_restart; count(*) @@ -782,7 +640,7 @@ t55_restart CREATE TABLE `t55_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000024 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' INSERT INTO t66_restart (SELECT 0, c2, c3, c4, c5 FROM t66_restart); @@ -796,7 +654,7 @@ t66_restart CREATE TABLE `t66_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -814,7 +672,7 @@ t77_restart CREATE TABLE `t77_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -834,11 +692,13 @@ t66_restart#p#p0.isl t66_restart#p#p1.isl t66_restart#p#p2.isl t66_restart.frm +t66_restart.par t77_restart#p#p0#sp#s0.isl t77_restart#p#p0#sp#s1.isl t77_restart#p#p1#sp#s2.isl t77_restart#p#p1#sp#s3.isl t77_restart.frm +t77_restart.par ---- MYSQL_TMP_DIR/alt_dir/test t55_restart.ibd t66_restart#p#p0.ibd @@ -851,7 +711,6 @@ t77_restart#p#p1#sp#s3.ibd # # Restart the server # -# restart SHOW VARIABLES LIKE 'innodb_file_per_table'; Variable_name Value innodb_file_per_table ON @@ -866,17 +725,6 @@ test/t77_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/ test/t77_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd test/t77_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd test/t77_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t55_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd -test/t66_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd -test/t66_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd -test/t66_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd -test/t77_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd -test/t77_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd -test/t77_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd -test/t77_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart); SELECT count(*) FROM t55_restart; count(*) @@ -888,7 +736,7 @@ t55_restart CREATE TABLE `t55_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000048 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/' INSERT INTO t66_restart (SELECT 0, c2, c3, c4, c5 FROM t66_restart); @@ -902,7 +750,7 @@ t66_restart CREATE TABLE `t66_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -920,7 +768,7 @@ t77_restart CREATE TABLE `t77_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -946,11 +794,13 @@ t66_restart#p#p0.isl t66_restart#p#p1.isl t66_restart#p#p2.isl t66_restart.frm +t66_restart.par t77_restart#p#p0#sp#s0.isl t77_restart#p#p0#sp#s1.isl t77_restart#p#p1#sp#s2.isl t77_restart#p#p1#sp#s3.isl t77_restart.frm +t77_restart.par ---- MYSQL_TMP_DIR/alt_dir/test t55_restart.ibd t66_restart#p#p0.ibd @@ -974,11 +824,13 @@ t66_restart#p#p0.isl t66_restart#p#p1.isl t66_restart#p#p2.isl t66_restart.frm +t66_restart.par t77_restart#p#p0#sp#s0.isl t77_restart#p#p0#sp#s1.isl t77_restart#p#p1#sp#s2.isl t77_restart#p#p1#sp#s3.isl t77_restart.frm +t77_restart.par ---- MYSQL_TMP_DIR/alt_dir/test ---- MYSQL_TMP_DIR/new_dir/test t4_restart.ibd @@ -993,7 +845,6 @@ t77_restart#p#p1#sp#s3.ibd # # Start the server and check tablespaces. # -# restart === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t4_restart Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd @@ -1005,17 +856,6 @@ test/t77_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/new_dir/test/ test/t77_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s1.ibd test/t77_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s2.ibd test/t77_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd -test/t55_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd -test/t66_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p0.ibd -test/t66_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p1.ibd -test/t66_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p2.ibd -test/t77_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s0.ibd -test/t77_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s1.ibd -test/t77_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s2.ibd -test/t77_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s3.ibd INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart); SELECT count(*) FROM t4_restart; count(*) @@ -1027,9 +867,9 @@ t4_restart CREATE TABLE `t4_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=1000000099 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC +) ENGINE=InnoDB AUTO_INCREMENT=1000000099 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/new_dir/' INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart); SELECT count(*) FROM t55_restart; count(*) @@ -1041,7 +881,7 @@ t55_restart CREATE TABLE `t55_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000096 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC DATA DIRECTORY='MYSQL_TMP_DIR/new_dir/' INSERT INTO t66_restart (SELECT 0, c2, c3, c4, c5 FROM t66_restart); @@ -1055,7 +895,7 @@ t66_restart CREATE TABLE `t66_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=179 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -1073,7 +913,7 @@ t77_restart CREATE TABLE `t77_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) @@ -1099,11 +939,13 @@ t66_restart#p#p0.isl t66_restart#p#p1.isl t66_restart#p#p2.isl t66_restart.frm +t66_restart.par t77_restart#p#p0#sp#s0.isl t77_restart#p#p0#sp#s1.isl t77_restart#p#p1#sp#s2.isl t77_restart#p#p1#sp#s3.isl t77_restart.frm +t77_restart.par ---- MYSQL_TMP_DIR/new_dir/test t4_restart.ibd t55_restart.ibd @@ -1127,16 +969,17 @@ t66_restart#p#p0.ibd t66_restart#p#p1.ibd t66_restart#p#p2.ibd t66_restart.frm +t66_restart.par t77_restart#p#p0#sp#s0.ibd t77_restart#p#p0#sp#s1.ibd t77_restart#p#p1#sp#s2.ibd t77_restart#p#p1#sp#s3.ibd t77_restart.frm +t77_restart.par ---- MYSQL_TMP_DIR/new_dir/test # # Start the server and check tablespaces. # -# restart === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path test/t4_restart Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t4_restart.ibd @@ -1148,17 +991,6 @@ test/t77_restart#p#p0#sp#s0 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t77_res test/t77_restart#p#p0#sp#s1 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s1.ibd test/t77_restart#p#p1#sp#s2 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s2.ibd test/t77_restart#p#p1#sp#s3 Single DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s3.ibd -=== information_schema.files === -Space_Name File_Type Engine Status Tablespace_Name Path -test/t4_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t4_restart.ibd -test/t55_restart TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t55_restart.ibd -test/t66_restart#p#p0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t66_restart#p#p0.ibd -test/t66_restart#p#p1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t66_restart#p#p1.ibd -test/t66_restart#p#p2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t66_restart#p#p2.ibd -test/t77_restart#p#p0#sp#s0 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s0.ibd -test/t77_restart#p#p0#sp#s1 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s1.ibd -test/t77_restart#p#p1#sp#s2 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s2.ibd -test/t77_restart#p#p1#sp#s3 TABLESPACE InnoDB NORMAL innodb_file_per_table.## MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s3.ibd INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart); SELECT count(*) FROM t4_restart; count(*) @@ -1170,7 +1002,7 @@ t4_restart CREATE TABLE `t4_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000195 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart); @@ -1184,7 +1016,7 @@ t55_restart CREATE TABLE `t55_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=1000000192 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC INSERT INTO t66_restart (SELECT 0, c2, c3, c4, c5 FROM t66_restart); @@ -1198,7 +1030,7 @@ t66_restart CREATE TABLE `t66_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=347 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 /*!50100 PARTITION BY HASH (c1) @@ -1216,7 +1048,7 @@ t77_restart CREATE TABLE `t77_restart` ( `c2` char(10) DEFAULT NULL, `c3` varchar(100) DEFAULT NULL, `c4` date DEFAULT NULL, - `c5` text, + `c5` text DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB AUTO_INCREMENT=145 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC /*!50100 PARTITION BY RANGE (c1) diff --git a/mysql-test/suite/innodb_zip/t/4k-master.opt b/mysql-test/suite/innodb_zip/t/4k-master.opt new file mode 100644 index 00000000000..82f574a8039 --- /dev/null +++ b/mysql-test/suite/innodb_zip/t/4k-master.opt @@ -0,0 +1,3 @@ +--loose-innodb-sys-indexes +--loose-innodb-sys-tablespaces +--loose-innodb-sys-datafiles diff --git a/mysql-test/suite/innodb_zip/t/4k.test b/mysql-test/suite/innodb_zip/t/4k.test index 6226c4abcee..cdbed557e1d 100644 --- a/mysql-test/suite/innodb_zip/t/4k.test +++ b/mysql-test/suite/innodb_zip/t/4k.test @@ -169,11 +169,11 @@ CREATE TABLE t1 (a varchar(64) character set utf8, SET SESSION innodb_strict_mode = ON; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; SHOW WARNINGS; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; SHOW WARNINGS; @@ -240,18 +240,18 @@ DROP TABLE t1; SET SESSION innodb_strict_mode = ON; SET GLOBAL innodb_file_per_table = OFF; SHOW VARIABLES LIKE 'innodb_file_per_table'; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; SHOW WARNINGS; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; SHOW WARNINGS; SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_format = `Antelope`; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; SHOW WARNINGS; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; SHOW WARNINGS; SET GLOBAL innodb_file_format = `Barracuda`; diff --git a/mysql-test/suite/innodb_zip/t/8k-master.opt b/mysql-test/suite/innodb_zip/t/8k-master.opt new file mode 100644 index 00000000000..82f574a8039 --- /dev/null +++ b/mysql-test/suite/innodb_zip/t/8k-master.opt @@ -0,0 +1,3 @@ +--loose-innodb-sys-indexes +--loose-innodb-sys-tablespaces +--loose-innodb-sys-datafiles diff --git a/mysql-test/suite/innodb_zip/t/8k.test b/mysql-test/suite/innodb_zip/t/8k.test index 3a2e8755f57..fb440099c85 100644 --- a/mysql-test/suite/innodb_zip/t/8k.test +++ b/mysql-test/suite/innodb_zip/t/8k.test @@ -185,7 +185,7 @@ CREATE TABLE t1 (a varchar(128) character set utf8, SET SESSION innodb_strict_mode = ON; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; SHOW WARNINGS; @@ -257,18 +257,18 @@ DROP TABLE t1; SET SESSION innodb_strict_mode = ON; SET GLOBAL innodb_file_per_table = OFF; SHOW VARIABLES LIKE 'innodb_file_per_table'; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; SHOW WARNINGS; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; SHOW WARNINGS; SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_format = `Antelope`; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t4 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=8; SHOW WARNINGS; ---error ER_ILLEGAL_HA +--error ER_CANT_CREATE_TABLE CREATE TABLE t5 (id int PRIMARY KEY) ENGINE=innodb KEY_BLOCK_SIZE=16; SHOW WARNINGS; SET GLOBAL innodb_file_format = `Barracuda`; diff --git a/mysql-test/suite/innodb_zip/t/disabled.def b/mysql-test/suite/innodb_zip/t/disabled.def index b97bc405f21..02adb097c9d 100644 --- a/mysql-test/suite/innodb_zip/t/disabled.def +++ b/mysql-test/suite/innodb_zip/t/disabled.def @@ -10,7 +10,5 @@ # ############################################################################## -restart : Not supported by MariaDB 10.2 2/9/2016 jplindst -wl6650 : Not supported by MariaDB 10.2 wl6560 : Very long, timeout diff --git a/mysql-test/suite/innodb_zip/t/restart.opt b/mysql-test/suite/innodb_zip/t/restart.opt new file mode 100644 index 00000000000..52314cbf241 --- /dev/null +++ b/mysql-test/suite/innodb_zip/t/restart.opt @@ -0,0 +1,3 @@ +--loose-innodb-sys-tables +--loose-innodb-sys-tablespaces +--loose-innodb-sys-datafiles diff --git a/mysql-test/suite/innodb_zip/t/restart.test b/mysql-test/suite/innodb_zip/t/restart.test index 354e63a69f7..a2dacdb4a05 100644 --- a/mysql-test/suite/innodb_zip/t/restart.test +++ b/mysql-test/suite/innodb_zip/t/restart.test @@ -153,29 +153,6 @@ SHOW CREATE TABLE t7_restart; SELECT count(*) FROM t7_restart; --echo # ---echo # Create and insert records into a table that uses a general tablespace. ---echo # -CREATE TABLESPACE s1_restart ADD DATAFILE 's1_restart.ibd'; -CREATE TABLE t8_restart(c1 DOUBLE AUTO_INCREMENT KEY, c2 CHAR(10), c3 VARCHAR(100), c4 DATE, c5 TEXT) - ROW_FORMAT=COMPACT ENGINE=InnoDB TABLESPACE=s1_restart; -INSERT INTO t8_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot'); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -SHOW CREATE TABLE t8_restart; -SELECT count(*) FROM t8_restart; -CREATE TABLE t9_restart(c1 DOUBLE AUTO_INCREMENT KEY, c2 CHAR(10), c3 VARCHAR(100), c4 DATE, c5 TEXT) - ROW_FORMAT=DYNAMIC ENGINE=InnoDB TABLESPACE=s1_restart; -INSERT INTO t9_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot'); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); -SHOW CREATE TABLE t9_restart; -SELECT count(*) FROM t9_restart; - ---echo # --echo # Show these tables in information_schema. --echo # --source suite/innodb/include/show_i_s_tables.inc @@ -211,8 +188,6 @@ SHOW CREATE TABLE t5_restart; SHOW CREATE TABLE t6_restart; --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR SHOW CREATE TABLE t7_restart; -SHOW CREATE TABLE t8_restart; -SHOW CREATE TABLE t9_restart; INSERT INTO t1_restart (SELECT 0, c2, c3, c4, c5 FROM t1_restart); INSERT INTO t2_restart (SELECT 0, c2, c3, c4, c5 FROM t2_restart); @@ -221,8 +196,6 @@ INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart); INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart); INSERT INTO t6_restart (SELECT 0, c2, c3, c4, c5 FROM t6_restart); INSERT INTO t7_restart (SELECT 0, c2, c3, c4, c5 FROM t7_restart); -INSERT INTO t8_restart (SELECT 0, c2, c3, c4, c5 FROM t8_restart); -INSERT INTO t9_restart (SELECT 0, c2, c3, c4, c5 FROM t9_restart); SELECT count(*) FROM t1_restart; SELECT count(*) FROM t2_restart; @@ -231,8 +204,6 @@ SELECT count(*) FROM t4_restart; SELECT count(*) FROM t5_restart; SELECT count(*) FROM t6_restart; SELECT count(*) FROM t7_restart; -SELECT count(*) FROM t8_restart; -SELECT count(*) FROM t9_restart; --echo # --echo # Show these tables in information_schema. @@ -247,9 +218,6 @@ DROP TABLE t3_restart; # and an ISL file will be created not using InnoDB. # Table t5_restart will be expanded. # Tables t6_restart and t7_restart will be truncated. -DROP TABLE t8_restart; -DROP TABLE t9_restart; -DROP TABLESPACE s1_restart; --echo # --echo # Truncate the remote tablespaces. diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc index 55c51f1be05..cfb4903bb7a 100644 --- a/storage/innobase/fil/fil0fil.cc +++ b/storage/innobase/fil/fil0fil.cc @@ -6798,62 +6798,6 @@ fil_get_space_names( } #ifndef UNIV_HOTBACKUP -/** Return the next fil_node_t in the current or next fil_space_t. -Once started, the caller must keep calling this until it returns NULL. -fil_space_acquire() and fil_space_release() are invoked here which -blocks a concurrent operation from dropping the tablespace. -@param[in] prev_node Pointer to the previous fil_node_t. -If NULL, use the first fil_space_t on fil_system->space_list. -@return pointer to the next fil_node_t. -@retval NULL if this was the last file node */ -const fil_node_t* -fil_node_next( - const fil_node_t* prev_node) -{ - fil_space_t* space; - const fil_node_t* node = prev_node; - - mutex_enter(&fil_system->mutex); - - if (node == NULL) { - space = UT_LIST_GET_FIRST(fil_system->space_list); - - /* We can trust that space is not NULL because at least the - system tablespace is always present and loaded first. */ - space->n_pending_ops++; - - node = UT_LIST_GET_FIRST(space->chain); - ut_ad(node != NULL); - } else { - space = node->space; - ut_ad(space->n_pending_ops > 0); - node = UT_LIST_GET_NEXT(chain, node); - - if (node == NULL) { - /* Move on to the next fil_space_t */ - space->n_pending_ops--; - space = UT_LIST_GET_NEXT(space_list, space); - - /* Skip spaces that are being dropped or truncated. */ - while (space != NULL - && (space->stop_new_ops - || space->is_being_truncated)) { - space = UT_LIST_GET_NEXT(space_list, space); - } - - if (space != NULL) { - space->n_pending_ops++; - node = UT_LIST_GET_FIRST(space->chain); - ut_ad(node != NULL); - } - } - } - - mutex_exit(&fil_system->mutex); - - return(node); -} - /** Generate redo log for swapping two .ibd files @param[in] old_table old table @param[in] new_table new table diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index bb3bd87f9e3..87941833182 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -1544,31 +1544,6 @@ innodb_enable_monitor_at_startup( /*=============================*/ char* str); /*!< in: monitor counter enable list */ -/** Fill handlerton based INFORMATION_SCHEMA tables. -@param[in] (unused) Handle to the handlerton structure -@param[in] thd Thread/connection descriptor -@param[in,out] tables Information Schema tables to fill -@param[in] (unused) Intended for conditional pushdown -@param[in] idx Table id that indicates which I_S table to fill -@return Operation status */ -static -int -innobase_fill_i_s_table( - handlerton*, - THD* thd, - TABLE_LIST* tables, - Item*, - enum_schema_tables idx) -{ - int ret = 0; - - if (idx == SCH_FILES) { - ret = i_s_files_table_fill(thd, tables); - } - - return(ret); -} - #ifdef MYSQL_STORE_FTS_DOC_ID /** Store doc_id value into FTS_DOC_ID field @param[in,out] tbl table containing FULLTEXT index @@ -4092,7 +4067,6 @@ innobase_init( innobase_hton->flush_logs = innobase_flush_logs; innobase_hton->show_status = innobase_show_status; - innobase_hton->fill_is_table = innobase_fill_i_s_table; innobase_hton->flags = HTON_SUPPORTS_EXTENDED_KEYS | HTON_SUPPORTS_FOREIGN_KEYS; diff --git a/storage/innobase/handler/i_s.cc b/storage/innobase/handler/i_s.cc index 011c46525b9..37bc9c1f15d 100644 --- a/storage/innobase/handler/i_s.cc +++ b/storage/innobase/handler/i_s.cc @@ -9845,147 +9845,3 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_semaphore_waits = STRUCT_FLD(version_info, INNODB_VERSION_STR), STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), }; - -/** Fill handlerton based INFORMATION_SCHEMA.FILES table. -@param[in,out] thd thread/connection descriptor -@param[in,out] tables information schema tables to fill -@retval 0 for success -@retval HA_ERR_OUT_OF_MEM when running out of memory -@return nonzero for failure */ -int -i_s_files_table_fill( - THD* thd, - TABLE_LIST* tables) -{ - TABLE* table_to_fill = tables->table; - Field** fields = table_to_fill->field; - /* Use this class so that if the OK() macro returns, - fil_space_release() is called. */ - FilSpace space; - - DBUG_ENTER("i_s_files_table_fill"); - - /* Gather information reportable to information_schema.files - for the first or next file in fil_system. */ - for (const fil_node_t* node = fil_node_next(NULL); - node != NULL; - node = fil_node_next(node)) { - const char* type = "TABLESPACE"; - const char* space_name; - /** Buffer to build file-per-table tablespace names. - Even though a space_id is often stored in a ulint, it cannot - be larger than 1<<32-1, which is 10 numeric characters. */ - char file_per_table_name[ - sizeof("innodb_file_per_table_1234567890")]; - uintmax_t avail_space; - ulint extent_pages; - ulint extend_pages; - - space = node->space; - fil_type_t purpose = space()->purpose; - - switch (purpose) { - case FIL_TYPE_LOG: - /* Do not report REDO LOGs to I_S.FILES */ - space = NULL; - continue; - case FIL_TYPE_TABLESPACE: - if (!is_system_tablespace(space()->id) - && space()->id <= srv_undo_tablespaces_open) { - type = "UNDO LOG"; - break; - } /* else fall through for TABLESPACE */ - case FIL_TYPE_IMPORT: - /* 'IMPORTING'is a status. The type is TABLESPACE. */ - break; - case FIL_TYPE_TEMPORARY: - type = "TEMPORARY"; - break; - }; - - page_size_t page_size(space()->flags); - - /* Single-table tablespaces are assigned to a schema. */ - if (!is_predefined_tablespace(space()->id) - && !FSP_FLAGS_GET_SHARED(space()->flags)) { - /* Their names will be like "test/t1" */ - ut_ad(NULL != strchr(space()->name, '/')); - - /* File-per-table tablespace names are generated - internally and certain non-file-system-allowed - characters are expanded which can make the space - name too long. In order to avoid that problem, - use a modified tablespace name. - Since we are not returning dbname and tablename, - the user must match the space_id to i_s_table.space - in order find the single table that is in it or the - schema it belongs to. */ - ut_snprintf( - file_per_table_name, - sizeof(file_per_table_name), - "innodb_file_per_table_" ULINTPF, - space()->id); - space_name = file_per_table_name; - } else { - /* Only file-per-table space names contain '/'. - This is not file-per-table . */ - ut_ad(NULL == strchr(space()->name, '/')); - - space_name = space()->name; - } - - init_fill_schema_files_row(table_to_fill); - - OK(field_store_ulint(fields[IS_FILES_FILE_ID], - space()->id)); - OK(field_store_string(fields[IS_FILES_FILE_NAME], - node->name)); - OK(field_store_string(fields[IS_FILES_FILE_TYPE], - type)); - OK(field_store_string(fields[IS_FILES_TABLESPACE_NAME], - space_name)); - OK(field_store_string(fields[IS_FILES_ENGINE], - "InnoDB")); - OK(field_store_ulint(fields[IS_FILES_FREE_EXTENTS], - space()->free_len)); - - extent_pages = fsp_get_extent_size_in_pages(page_size); - - OK(field_store_ulint(fields[IS_FILES_TOTAL_EXTENTS], - space()->size_in_header / extent_pages)); - OK(field_store_ulint(fields[IS_FILES_EXTENT_SIZE], - extent_pages * page_size.physical())); - OK(field_store_ulint(fields[IS_FILES_INITIAL_SIZE], - node->init_size * page_size.physical())); - - if (node->max_size >= ULINT_MAX) { - fields[IS_FILES_MAXIMUM_SIZE]->set_null(); - } else { - OK(field_store_ulint(fields[IS_FILES_MAXIMUM_SIZE], - node->max_size * page_size.physical())); - } - if (space()->id == srv_sys_space.space_id()) { - extend_pages = srv_sys_space.get_increment(); - } else if (space()->id == srv_tmp_space.space_id()) { - extend_pages = srv_tmp_space.get_increment(); - } else { - extend_pages = fsp_get_pages_to_extend_ibd( - page_size, node->size); - } - - OK(field_store_ulint(fields[IS_FILES_AUTOEXTEND_SIZE], - extend_pages * page_size.physical())); - - avail_space = fsp_get_available_space_in_free_extents(space()); - OK(field_store_ulint(fields[IS_FILES_DATA_FREE], - static_cast<ulint>(avail_space * 1024))); - OK(field_store_string(fields[IS_FILES_STATUS], - (purpose == FIL_TYPE_IMPORT) - ? "IMPORTING" : "NORMAL")); - - schema_table_store_record(thd, table_to_fill); - space = NULL; - } - - DBUG_RETURN(0); -} diff --git a/storage/innobase/handler/i_s.h b/storage/innobase/handler/i_s.h index eb076ec802e..d272490dd27 100644 --- a/storage/innobase/handler/i_s.h +++ b/storage/innobase/handler/i_s.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved. -Copyrigth (c) 2014, 2015, MariaDB Corporation +Copyrigth (c) 2014, 2016, MariaDB Corporation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -66,17 +66,6 @@ extern struct st_maria_plugin i_s_innodb_tablespaces_encryption; extern struct st_maria_plugin i_s_innodb_tablespaces_scrubbing; extern struct st_maria_plugin i_s_innodb_sys_semaphore_waits; -/** Fill handlerton based INFORMATION_SCHEMA.FILES table. -@param[in,out] thd thread/connection descriptor -@param[in,out] tables information schema tables to fill -@retval 0 for success -@retval HA_ERR_OUT_OF_MEM when running out of memory -@return nonzero for failure */ -int -i_s_files_table_fill( - THD *thd, - TABLE_LIST *tables); - /** maximum number of buffer page info we would cache. */ #define MAX_BUF_INFO_CACHED 10000 diff --git a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h index 4171bed1611..bc1121d1530 100644 --- a/storage/innobase/include/fil0fil.h +++ b/storage/innobase/include/fil0fil.h @@ -1609,18 +1609,6 @@ fil_get_space_names( /*!< in/out: Vector for collecting the names. */ MY_ATTRIBUTE((warn_unused_result)); -/** Return the next fil_node_t in the current or next fil_space_t. -Once started, the caller must keep calling this until it returns NULL. -fil_space_acquire() and fil_space_release() are invoked here which -blocks a concurrent operation from dropping the tablespace. -@param[in] prev_node Pointer to the previous fil_node_t. -If NULL, use the first fil_space_t on fil_system->space_list. -@return pointer to the next fil_node_t. -@retval NULL if this was the last file node */ -const fil_node_t* -fil_node_next( - const fil_node_t* prev_node); - /** Generate redo log for swapping two .ibd files @param[in] old_table old table @param[in] new_table new table |