Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/innodb/r/partition.result |
# # Test of optimizer estimates # CREATE TABLE t0 (a int PRIMARY KEY, b int, c varchar(64)); CREATE TABLE t1 (a int, b int, c varchar(64), PRIMARY KEY (a), KEY (b), KEY (c,b)) ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 5; # Set up the rows so that the following query would match # 100 PK values but only 10 'b' values. But 90 of the matching # PKs will be in the smallest partition. # Since the fix for bug#1364811 will ha_partition only check the biggest # partitions, but ha_innopart will check all partitions when estimating # numbers of records in range. Resulting in ha_partition will # assume there are only 10 matching PK values and choose to do search # by PK but ha_innopart will search by secondary index 'b' since it # will prefer to read 10 records from the secondary index over reading # 100 records from the PRIMARY index. # SELECT * FROM t1 WHERE a BETWEEN 1 AND 450 AND b BETWEEN 1 AND 10; # Using t0 to prevent any issues with purge in t1. INSERT INTO t0 VALUES (1,0,"common"),(2,0,"common"),(3,0,"common"), (4,0,"common"),(5,0,"common"), (6,0,"common"),(7,0,"common"),(8,0,"common"), (9,0,"common"),(10,0,"common"); INSERT INTO t0 SELECT a + 10, b, c FROM t0; INSERT INTO t0 SELECT a + 20, b, c FROM t0; INSERT INTO t0 SELECT a + 40, b, c FROM t0; INSERT INTO t0 SELECT a + 80, b, c FROM t0; INSERT INTO t0 SELECT a + 160, b, c FROM t0; INSERT INTO t0 SELECT a + 320, b, c FROM t0; INSERT INTO t0 SELECT a + 640, b, c FROM t0; DELETE FROM t0 WHERE a BETWEEN 13 AND 450 AND (a % 5) <> 0; DELETE FROM t0 WHERE a > 450 AND (a % 5) = 0 LIMIT 250; UPDATE t0 SET b = a, c = "MATCH!" WHERE a <= 10; INSERT INTO t1 SELECT * FROM t0; DROP TABLE t0; ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK EXPLAIN SELECT * FROM t1 WHERE a BETWEEN 1 AND 450 AND b BETWEEN 1 AND 10; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 p0,p1,p2,p3,p4 range PRIMARY,b b 9 NULL 10 13.09 Using index condition Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ((`test`.`t1`.`a` between 1 and 450) and (`test`.`t1`.`b` between 1 and 10)) FLUSH STATUS; SELECT * FROM t1 WHERE a BETWEEN 1 AND 450 AND b BETWEEN 1 AND 10; a b c 1 1 MATCH! 10 10 MATCH! 2 2 MATCH! 3 3 MATCH! 4 4 MATCH! 5 5 MATCH! 6 6 MATCH! 7 7 MATCH! 8 8 MATCH! 9 9 MATCH! SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0; VARIABLE_NAME VARIABLE_VALUE HANDLER_COMMIT 1 HANDLER_EXTERNAL_LOCK 2 HANDLER_READ_KEY 5 HANDLER_READ_NEXT 10 HANDLER_WRITE 17 DROP TABLE t1; # Test of index_merge and delete CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) NOT NULL, KEY `a` (`a`), KEY `b` (`b`) ) /*!50100 PARTITION BY HASH (a) PARTITIONS 3 */; INSERT INTO t1 VALUES (0,0),(0,0),(1,0),(1,0),(2,0),(2,0),(0,0); INSERT INTO t1 SELECT t1.a,t1.b FROM t1, t1 t2; INSERT INTO t1 VALUES (1,1),(2,2); ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK EXPLAIN SELECT * FROM t1 WHERE a = 4 OR b > 0; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 p0,p1,p2 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` = 4) or (`test`.`t1`.`b` > 0)) EXPLAIN DELETE FROM t1 WHERE a = 4 OR b > 0; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 DELETE t1 p0,p1,p2 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where SELECT * FROM t1 WHERE a = 4 OR b > 0; a b 1 1 2 2 SELECT COUNT(*) FROM t1; COUNT(*) 58 DELETE FROM t1 WHERE a = 4 OR b > 0; SELECT COUNT(*) FROM t1; COUNT(*) 56 SELECT * FROM t1 WHERE a = 4 OR b > 0; a b DROP TABLE t1; # more testing of index_merge and delete CREATE TABLE t1 (a int not null, b int not null, INDEX(a), INDEX(b)) engine=InnoDB PARTITION BY KEY(a,b) PARTITIONS 5; INSERT INTO t1 VALUES (0,0),(1,1), (2,2), (3,3), (4,4),(5,5),(6,6),(7,7),(8,8),(9,9); INSERT INTO t1 SELECT a + 10, b + 10 FROM t1; INSERT INTO t1 SELECT a + 20, b + 20 FROM t1; INSERT INTO t1 SELECT a + 40, b + 40 FROM t1; INSERT INTO t1 SELECT a + 80, b + 80 FROM t1; INSERT INTO t1 SELECT a + 160, b + 160 FROM t1; ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK EXPLAIN SELECT * FROM t1 WHERE a = 4 OR b < 3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 p0,p1,p2,p3,p4 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` = 4) or (`test`.`t1`.`b` < 3)) SELECT * FROM t1 WHERE a = 4 OR b < 3; a b 0 0 1 1 2 2 4 4 EXPLAIN SELECT * FROM t1 WHERE a BETWEEN 0 AND 20 OR b BETWEEN 10 AND 20; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 p0,p1,p2,p3,p4 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` between 0 and 20) or (`test`.`t1`.`b` between 10 and 20)) SELECT * FROM t1 WHERE a BETWEEN 0 AND 20 OR b BETWEEN 10 AND 20; a b 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 15 15 10 10 12 12 17 17 18 18 19 19 11 11 16 16 14 14 13 13 20 20 EXPLAIN DELETE FROM t1 WHERE a = 4 OR b < 3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 DELETE t1 p0,p1,p2,p3,p4 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where DELETE FROM t1 WHERE a = 4 OR b < 3; EXPLAIN DELETE FROM t1 WHERE a BETWEEN 0 AND 20 OR b BETWEEN 10 AND 20; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 DELETE t1 p0,p1,p2,p3,p4 index_merge a,b a,b 4,4 NULL # 100.00 Using sort_union(a,b); Using where SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE; QUERY TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE INSUFFICIENT_PRIVILEGES DELETE FROM t1 WHERE a BETWEEN 0 AND 20 OR b BETWEEN 10 AND 20; DROP TABLE t1; # # Bug#20584754: CAN'T FIND RECORD IN 'TABLE100_KEY_PK_PARTS_2_DATETIME_3' # CREATE TABLE `t1` ( `c1` tinyint unsigned DEFAULT NULL, `c2` char(1) DEFAULT NULL, `pk` tinyint NOT NULL, PRIMARY KEY (`pk`), KEY `c1` (`c1`), KEY `c2` (`c2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (pk) PARTITIONS 2 */; # Create the dataset in a separate table, so it can be loaded # directly without update/delete which may give unstable EXPLAIN # due to background pruning. CREATE TABLE t0 (a tinyint not null auto_increment primary key, b char(1) DEFAULT 'a', c tinyint DEFAULT 1); INSERT INTO t0 (a) VALUES (1), (2), (3), (4), (5), (6), (7), (8); INSERT INTO t0 (a) SELECT NULL FROM t0, t0 t0_2 LIMIT 50; UPDATE t0 SET c = NULL WHERE a IN (2,3,6,13,18); INSERT INTO t1 SELECT c,b,a FROM t0; DROP TABLE t0; ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK EXPLAIN SELECT pk FROM `t1` WHERE `c1` IS NULL OR `c2` = '0'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 p0,p1 index_merge c1,c2 c1,c2 2,2 NULL # 100.00 Using union(c1,c2); Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk` from `test`.`t1` where (isnull(`test`.`t1`.`c1`) or (`test`.`t1`.`c2` = '0')) SELECT pk FROM `t1` WHERE `c1` IS NULL OR `c2` = '0'; pk 2 3 6 13 18 DROP TABLE t1; # # Bug#20516390: PARTITIONED TABLE, TBLSPACE MOVE, ALTER, ASSERT # !(M_FILE_PER_TABLE && M_USE_SHAR # CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd'; CREATE TABLE t1 (a int not null, d int not null, b varchar(198) not null, c varchar(177), index(d), index(a), PRIMARY KEY (b(10), a, d), INDEX (c(95), b(95)), INDEX (b(5), c(10), a)) ENGINE=InnoDB stats_persistent=DEFAULT PARTITION BY LINEAR HASH(d) PARTITIONS 2; ALTER TABLE t1 TABLESPACE ts1; Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. ALTER TABLE t1 DROP PRIMARY KEY, ALGORITHM=DEFAULT; Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. DROP TABLE t1; DROP TABLESPACE ts1; # # Bug #20593808: CRASH WITH PARTITIONED TABLES # MULTITABLE DELETE # Test DML with index scan on partitioned table #1. test delete with join using PK index scan on partitioned table CREATE TABLE t1 ( col_1_int int, col_2_text text) ENGINE=InnoDB; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `col_1_int` int(11) DEFAULT NULL, `col_2_text` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 #insert two records in t1 INSERT INTO t1 VALUES (5, 'row to delete'); INSERT INTO t1 VALUES (3, 'row to keep'); SELECT * FROM t1 ORDER BY col_1_int; col_1_int col_2_text 3 row to keep 5 row to delete CREATE TABLE t2 ( col_1_int int, col_2_int int, col_3_text text, PRIMARY KEY(col_1_int, col_3_text(100)), KEY idx1 (col_2_int, col_1_int)) ENGINE=InnoDB PARTITION BY KEY(col_1_int) partitions 5; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `col_1_int` int(11) NOT NULL, `col_2_int` int(11) DEFAULT NULL, `col_3_text` text NOT NULL, PRIMARY KEY (`col_1_int`,`col_3_text`(100)), KEY `idx1` (`col_2_int`,`col_1_int`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (col_1_int) PARTITIONS 5 */ #insert five records in t2 INSERT INTO t2 VALUES (91, 11, 'bigger value for no-op'); INSERT INTO t2 VALUES ( 4, 25, 'smaller value to trigger delete'); INSERT INTO t2 VALUES (35, 33, 'bigger value for no-op addlen'); INSERT INTO t2 VALUES (55, 42, 'bigger value for no-op addlen + addlen + addlen'); INSERT INTO t2 VALUES (82, 54, 'bigger value for no-op addlen + addlen'); SELECT * FROM t2 ORDER BY col_1_int; col_1_int col_2_int col_3_text 4 25 smaller value to trigger delete 35 33 bigger value for no-op addlen 55 42 bigger value for no-op addlen + addlen + addlen 82 54 bigger value for no-op addlen + addlen 91 11 bigger value for no-op # test delete with join and index scan DELETE t1 FROM t2, t1 WHERE t2.col_1_int <= t1.col_1_int; expect one record SELECT * FROM t1; col_1_int col_2_text 3 row to keep DROP TABLE t1; DROP TABLE t2; #2. test delete with join using secondary index scan on partitioned table CREATE TABLE t1 ( col_1_int int, col_2_text text) ENGINE=InnoDB; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `col_1_int` int(11) DEFAULT NULL, `col_2_text` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 #insert two records in t1 INSERT INTO t1 VALUES (5, 'row to delete'); INSERT INTO t1 VALUES (3, 'row to keep'); SELECT * FROM t1 ORDER BY col_1_int; col_1_int col_2_text 3 row to keep 5 row to delete CREATE TABLE t2 ( col_1_int int, col_2_int int, col_3_text text, PRIMARY KEY(col_2_int, col_1_int), KEY idx1(col_1_int, col_3_text(100))) ENGINE=InnoDB PARTITION BY KEY(col_2_int) partitions 5; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `col_1_int` int(11) NOT NULL, `col_2_int` int(11) NOT NULL, `col_3_text` text, PRIMARY KEY (`col_2_int`,`col_1_int`), KEY `idx1` (`col_1_int`,`col_3_text`(100)) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (col_2_int) PARTITIONS 5 */ #insert five records in t2 INSERT INTO t2 VALUES (91, 11, 'bigger value for no-op'); INSERT INTO t2 VALUES ( 4, 25, 'smaller value to trigger delete'); INSERT INTO t2 VALUES (35, 33, 'bigger value for no-op addlen'); INSERT INTO t2 VALUES (55, 42, 'bigger value for no-op addlen + addlen + addlen'); INSERT INTO t2 VALUES (82, 54, 'bigger value for no-op addlen + addlen'); SELECT * FROM t2 ORDER BY col_1_int; col_1_int col_2_int col_3_text 4 25 smaller value to trigger delete 35 33 bigger value for no-op addlen 55 42 bigger value for no-op addlen + addlen + addlen 82 54 bigger value for no-op addlen + addlen 91 11 bigger value for no-op # test delete with join and index scan DELETE t1 FROM t2, t1 WHERE t2.col_1_int <= t1.col_1_int; expect one record SELECT * FROM t1; col_1_int col_2_text 3 row to keep DROP TABLE t1; DROP TABLE t2; # # Bug #20949314: PARTITION_HELPER::PH_RND_INIT(BOOL): ASSERTION # CREATE TABLE t1 (c1 INT); INSERT INTO t1 VALUES (3), (4), (5), (1), (2); CREATE TABLE t2 PARTITION BY KEY (c1) PARTITIONS 3 AS SELECT * FROM t1; DELETE A FROM t1 AS A WHERE A.c1 IN (SELECT c1 FROM t2 AS B WHERE B.c1 = A.c1); SELECT * from t1; c1 DROP TABLE t1; DROP TABLE t2; # # Bug#20819189: Assert if .frm exists but no partitioned InnoDB table # CREATE TABLE t1 (a int) ENGINE=InnoDB PARTITION BY HASH (a) PARTITIONS 2; SELECT * FROM t2; ERROR HY000: Got error 122 from storage engine FLUSH TABLE t2; DROP TABLE t1; # # Bug#21211524: CRASH IN ACTUAL_KEY_PARTS WITH PARTITIONED TABLES # CREATE TABLE t1( col1 SET('') CHARACTER SET UTF16 COLLATE UTF16_SPANISH_CI, col2 INT, PRIMARY KEY (col2, col1), UNIQUE KEY (col1, col2)) ENGINE=INNODB PARTITION BY KEY (col1); SELECT * from t1 WHERE col1 BETWEEN 0x92 AND ""; col1 col2 DROP TABLE t1; # # Bug#21794110: ASSERTION `MP->COUNT > 0 && MY_THREAD_EQUAL # CREATE TABLE t1(col1 INT PRIMARY KEY, col2 CHAR(10)) ENGINE=INNODB PARTITION BY HASH(col1) PARTITIONS 2; INSERT INTO t1 VALUES(0, 'string1'); ALTER TABLE t1 CHANGE col1 col1 INT UNSIGNED AUTO_INCREMENT; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `col1` int(10) unsigned NOT NULL AUTO_INCREMENT, `col2` char(10) DEFAULT NULL, PRIMARY KEY (`col1`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (col1) PARTITIONS 2 */ DROP TABLE t1; # # Bug#21620577: ASSERTION H->ACTIVE_INDEX == 64 # CREATE TABLE t1(col1 YEAR(4) not null, col2 int, KEY(col1), KEY(col1, col2)) ENGINE=INNODB PARTITION BY KEY(col1) PARTITIONS 2; INSERT INTO t1 VALUES('2015', 10); SELECT /*+ bka()*/ a.col2 from t1 AS a RIGHT JOIN t1 AS b on a.col1<=>null RIGHT JOIN t1 AS c on 1; col2 NULL DROP TABLE t1; # # Bug#21754608: HANDLE_FATAL_SIGNAL PARTITION_HELPER::PH_READ_RANGE_FIRST # CREATE TABLE t1(col1 int PRIMARY KEY, col2 int, col3 int) ENGINE=INNODB PARTITION BY LIST(col1) PARTITIONS 2 (PARTITION p0 VALUES IN (11,12), PARTITION p1 VALUES IN (0,1)); INSERT INTO t1 values(1, 10, 100); SELECT * from t1 WHERE col1 BETWEEN '2000-01-01 01:02:00' AND '2000-01-01 01:03:00'; col1 col2 col3 DROP TABLE t1; # # Bug#21755994 ALTER INPLACE CRASHES ON A INNODB TABLE WITH PARTITION ON SEPARATE TABLESPACE # CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd'; CREATE TABLE t1 ( a INT NOT NULL, PRIMARY KEY (a)) ENGINE=InnoDB PARTITION BY RANGE (a) PARTITIONS 3 ( PARTITION P1 VALUES LESS THAN (2) TABLESPACE ts1, PARTITION P2 VALUES LESS THAN (4) TABLESPACE `innodb_system`, PARTITION P3 VALUES LESS THAN (6)); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. ALTER TABLE t1 ADD COLUMN f int; DROP TABLE t1; DROP TABLESPACE ts1; # # Bug#21796845 ASSERT ERR == DB_SUCCESS, ROW_QUIESCE_TABLE_START(), FLUSH TABLES FOR EXPORT # CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd'; CREATE TABLE t1 (a INT, b INT) ENGINE = InnoDB PARTITION BY RANGE(a) ( PARTITION p1 VALUES LESS THAN (100) TABLESPACE innodb_system, PARTITION p2 VALUES LESS THAN (200), PARTITION p3 VALUES LESS THAN (300) TABLESPACE ts1, PARTITION p4 VALUES LESS THAN (400) TABLESPACE innodb_system); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. FLUSH table t1 FOR EXPORT; Warnings: Warning 1809 InnoDB: Table '`test`.`t1` /* Partition `p1` */' in system tablespace Warning 1235 InnoDB: This version of MySQL doesn't yet support 'FLUSH TABLES FOR EXPORT on table `test`.`t1` /* Partition `p3` */ in a general tablespace.' Warning 1809 InnoDB: Table '`test`.`t1` /* Partition `p4` */' in system tablespace UNLOCK TABLES; DROP TABLE t1; DROP TABLESPACE ts1; # # Bug#21957001 INNODB: FAILING ASSERTION: 0 IN FILE HA_INNOPART.CC LINE 3526 # call mtr.add_suppression("\\[Warning\\] InnoDB: Trying to access missing tablespace .*"); call mtr.add_suppression("\\[Warning\\] InnoDB: Missing .ibd file for table `test`\.`t1` .* "); CREATE TABLE t1(c1 INT,c2 CHAR(1)) PARTITION BY KEY(c1) PARTITIONS 4; ALTER TABLE t1 DISCARD PARTITION p3 TABLESPACE; SELECT TABLE_ROWS FROM information_schema.tables where table_name = 't1'; TABLE_ROWS 0 Warnings: Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p3` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. ALTER TABLE t1 DISCARD PARTITION p1 TABLESPACE; SELECT TABLE_ROWS FROM information_schema.tables where table_name = 't1'; TABLE_ROWS 0 Warnings: Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p1` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p3` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. ALTER TABLE t1 DISCARD PARTITION p2 TABLESPACE; SELECT TABLE_ROWS FROM information_schema.tables where table_name = 't1'; TABLE_ROWS 0 Warnings: Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p1` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p2` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p3` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. ALTER TABLE t1 DISCARD PARTITION p0 TABLESPACE; SELECT TABLE_ROWS FROM information_schema.tables where table_name = 't1'; TABLE_ROWS 0 Warnings: Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p0` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p1` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p2` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p3` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. DROP TABLE t1; CREATE TABLE t1(c1 INT,c2 CHAR(1)) PARTITION BY KEY(c1) PARTITIONS 4; ALTER TABLE t1 DISCARD TABLESPACE; SELECT TABLE_ROWS FROM information_schema.tables where table_name = 't1'; TABLE_ROWS 0 Warnings: Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p0` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p1` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p2` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. Warning 1013 InnoDB: Trying to get the free space for partition `test`.`t1` /* Partition `p3` */ but its tablespace has been discarded or the .ibd file is missing. Setting the free space of the partition to zero. DROP TABLE t1; # # Bug#21864838: SIG11 IN FIELD_BLOB::CMP| AT SQL/FIELD.CC # CREATE TABLE t1 (col1 INT PRIMARY KEY, col2 VARCHAR(1), col3 BLOB AS (REPEAT(col2, 500)) VIRTUAL, KEY(col3(100))) ENGINE=INNODB PARTITION BY HASH(col1) PARTITIONS 2; CREATE TABLE t2 (col1 INT PRIMARY KEY, col2 VARCHAR(1), col3 BLOB AS (REPEAT(col2, 500)) VIRTUAL, KEY(col3(100))) ENGINE=INNODB PARTITION BY HASH(col1) PARTITIONS 2; INSERT INTO t1 (col1, col2) VALUES(1, 'd'), (2, 'c'), (3, 'b'), (4, 'a'); INSERT INTO t2 (col1, col2) VALUES(1, 'd'), (2, 'c'), (3, 'b'), (4, 'a'); SELECT t1.col1 FROM t1, t2 where t1.col1 = 3 AND t1.col3 = t2.col3 ORDER BY t2.col1 DESC; col1 3 DROP TABLE t1; DROP TABLE t2; # # Bug #21881155: UNINTIALIZED READ IN KEY_REC_CMP CAUSE CRASH LATER # CREATE TABLE t1 (col1 int, col2 BLOB AS ('a') VIRTUAL, col3 INT, PRIMARY KEY(col1), KEY (col3, col2(1), col1)) ENGINE=INNODB PARTITION BY KEY (col1) PARTITIONS 2; INSERT INTO t1(col1) values (1),(2); SELECT 1 FROM t1 WHERE col2 > 'a' GROUP BY col3; 1 DROP TABLE t1; # # Bug#21914047 SHOW CREATE DUMPS AFTER ALTER ON INNODB TABLE WITH PARTITIONS USING TABLESPACE # CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd'; CREATE TABLESPACE ts2 ADD DATAFILE 'ts2.ibd'; CREATE TABLE t1 (a INT NOT NULL, PRIMARY KEY (a)) ENGINE=InnoDB TABLESPACE ts2 PARTITION BY RANGE(a) PARTITIONS 4 ( PARTITION p1 VALUES LESS THAN (2) TABLESPACE ts1, PARTITION p2 VALUES LESS THAN (4) TABLESPACE innodb_system, PARTITION p3 VALUES LESS THAN (6), PARTITION p4 VALUES LESS THAN (8) TABLESPACE innodb_file_per_table); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts2` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD COLUMN b int; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts2` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD COLUMN c int, TABLESPACE ts1; Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD PARTITION (PARTITION p5 VALUES LESS THAN (10) TABLESPACE ts2); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 Single test/t1#p#p4 test/t1#p#p5 General ts2 ALTER TABLE t1 ADD PARTITION (PARTITION p6 VALUES LESS THAN (12)); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 Single test/t1#p#p4 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 ALTER TABLE t1 REORGANIZE PARTITION p4 INTO (PARTITION p4 VALUES LESS THAN (8)); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 General ts2 test/t1#p#p4 General ts1 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 ALTER TABLE t1 REORGANIZE PARTITION p3 INTO (PARTITION p3 VALUES LESS THAN (6) TABLESPACE innodb_system); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 System NULL test/t1#p#p4 General ts1 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 DROP TABLE t1; CREATE TABLE t1 (a INT NOT NULL, PRIMARY KEY (a)) ENGINE=InnoDB PARTITION BY RANGE(a) PARTITIONS 4 ( PARTITION p1 VALUES LESS THAN (2) TABLESPACE ts1, PARTITION p2 VALUES LESS THAN (4) TABLESPACE innodb_system, PARTITION p3 VALUES LESS THAN (6), PARTITION p4 VALUES LESS THAN (8) TABLESPACE innodb_file_per_table); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD COLUMN b int; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD COLUMN c int, TABLESPACE ts1; Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 Single test/t1#p#p4 ALTER TABLE t1 ADD PARTITION (PARTITION p5 VALUES LESS THAN (10) TABLESPACE ts2); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 Single test/t1#p#p4 test/t1#p#p5 General ts2 ALTER TABLE t1 ADD PARTITION (PARTITION p6 VALUES LESS THAN (12)); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `innodb_file_per_table` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 Single test/t1#p#p4 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 ALTER TABLE t1 REORGANIZE PARTITION p4 INTO (PARTITION p4 VALUES LESS THAN (8)); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 Single test/t1#p#p3 test/t1#p#p4 General ts1 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 ALTER TABLE t1 REORGANIZE PARTITION p3 INTO (PARTITION p3 VALUES LESS THAN (6) TABLESPACE innodb_system); Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release. SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`) ) /*!50100 TABLESPACE `ts1` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (2) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (4) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (6) TABLESPACE = `innodb_system` ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (8) TABLESPACE = `ts1` ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (10) TABLESPACE = `ts2` ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (12) TABLESPACE = `ts1` ENGINE = InnoDB) */ SELECT A.NAME as partition_name, A.SPACE_TYPE as space_type, B.NAME as space_name FROM information_schema.innodb_sys_tables A LEFT JOIN information_schema.innodb_sys_tablespaces B ON A.SPACE = B.SPACE WHERE A.NAME LIKE '%t1%' ORDER BY A.NAME; partition_name space_type space_name test/t1#p#p1 General ts1 test/t1#p#p2 System NULL test/t1#p#p3 System NULL test/t1#p#p4 General ts1 test/t1#p#p5 General ts2 test/t1#p#p6 General ts1 DROP TABLE t1; DROP TABLESPACE ts1; DROP TABLESPACE ts2; # # Bug#22444530 - GCOLS + PARTITIONED TABLE, CRASH IN # set sql_mode=''; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. create table t ( a int not null, b int generated always as (1) virtual not null, c int generated always as (1) virtual not null, key (c) ) engine=innodb partition by key (a) partitions 2; insert into t(a) values(1); select b from t group by c; b 1 drop table t; create table t ( a int not null, b blob generated always as ("a") virtual not null, c int generated always as (1) virtual not null, key (c) ) engine=innodb partition by key (a) partitions 2; insert into t(a) values(1); select b from t group by c; b a drop table t; # # Bug#23037025 COL+PARTITION SIG11 IN ROW_SEL_STORE_MYSQL_REC # set sql_mode=''; CREATE TABLE t1 ( col1 INT, col2 INT AS (col1) VIRTUAL NOT NULL, col3 INT AS (1) VIRTUAL, KEY (col3) ) ENGINE=INNODB PARTITION BY KEY (col1) PARTITIONS 2; CREATE TABLE t2 (col1 INTEGER); CREATE TABLE t3 (col1 INTEGER); CREATE TRIGGER t2_trig1 BEFORE INSERT ON t2 FOR EACH ROW INSERT INTO t3 SELECT col2 FROM t1 GROUP BY col3; INSERT IGNORE INTO t1(col1) values(NULL); INSERT INTO t2 VALUES(1); ERROR 23000: Column 'col2' cannot be null DROP TRIGGER t2_trig1; DROP TABLE t3; DROP TABLE t2; DROP TABLE t1; # # Bug#23194259 ASSERTION FAILURE:TRX0TRX.H:1416:SRV_READ_ONLY_MODE # CREATE TABLE t1(col1 INT AS(1), KEY(col1)) ENGINE=INNODB PARTITION BY KEY(col1) PARTITIONS 2; SELECT * FROM t1 WHERE sha(uuid_short()); col1 DROP TABLE t1;