config root man

Current Path : /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
Upload File :
Current File : //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;

Man Man