175 lines
5.0 KiB
Plaintext
175 lines
5.0 KiB
Plaintext
--disable_warnings
|
|
drop table if exists t1,t2,t3,t4;
|
|
--enable_warnings
|
|
|
|
create table t1 (a int not null,b int not null,c int not null, primary key(a,b))
|
|
partition by list (b*a)
|
|
(partition x1 values in (1),
|
|
partition x2 values in (3, 11, 5, 7),
|
|
partition x3 values in (16, 8, 5+19, 70-43));
|
|
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test"
|
|
and table_name="t1";
|
|
|
|
create table t2 (a int not null,b int not null,c int not null, primary key(a,b))
|
|
partition by range (a)
|
|
partitions 3
|
|
(partition x1 values less than (5),
|
|
partition x2 values less than (10),
|
|
partition x3 values less than maxvalue);
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test"
|
|
and table_name="t2";
|
|
|
|
create table t3 (f1 date)
|
|
partition by hash(month(f1))
|
|
partitions 3;
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test"
|
|
and table_name="t3";
|
|
|
|
create table t4 (f1 date, f2 int)
|
|
partition by key(f1,f2)
|
|
partitions 3;
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test"
|
|
and table_name="t4";
|
|
|
|
drop table t1,t2,t3,t4;
|
|
|
|
create table t1 (a int not null,b int not null,c int not null,primary key (a,b))
|
|
partition by range (a)
|
|
subpartition by hash (a+b)
|
|
( partition x1 values less than (1)
|
|
( subpartition x11,
|
|
subpartition x12),
|
|
partition x2 values less than (5)
|
|
( subpartition x21,
|
|
subpartition x22)
|
|
);
|
|
|
|
create table t2 (a int not null,b int not null,c int not null,primary key (a,b))
|
|
partition by range (a)
|
|
subpartition by key (a)
|
|
( partition x1 values less than (1)
|
|
( subpartition x11,
|
|
subpartition x12),
|
|
partition x2 values less than (5)
|
|
( subpartition x21,
|
|
subpartition x22)
|
|
);
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test";
|
|
drop table t1,t2;
|
|
|
|
create table t1 (
|
|
a int not null,
|
|
b int not null,
|
|
c int not null,
|
|
primary key (a,b))
|
|
partition by range (a)
|
|
subpartition by hash (a+b)
|
|
( partition x1 values less than (1)
|
|
( subpartition x11 nodegroup 0,
|
|
subpartition x12 nodegroup 1),
|
|
partition x2 values less than (5)
|
|
( subpartition x21 nodegroup 0,
|
|
subpartition x22 nodegroup 1),
|
|
partition x3 values less than (10)
|
|
( subpartition x31 max_rows=50,
|
|
subpartition x32 nodegroup 1)
|
|
);
|
|
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test";
|
|
show tables;
|
|
drop table t1;
|
|
|
|
create table t1(f1 int, f2 int);
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test";
|
|
drop table t1;
|
|
|
|
create table t1 (f1 date)
|
|
partition by linear hash(month(f1))
|
|
partitions 3;
|
|
--replace_column 16 # 19 # 20 #
|
|
select * from information_schema.partitions where table_schema="test"
|
|
and table_name="t1";
|
|
drop table t1;
|
|
|
|
#
|
|
# Bug 20161 Partitions: SUBPARTITION METHOD does not show LINEAR keyword
|
|
#
|
|
create table t1 (a int)
|
|
PARTITION BY RANGE (a)
|
|
SUBPARTITION BY LINEAR HASH (a)
|
|
(PARTITION p0 VALUES LESS THAN (10));
|
|
|
|
SHOW CREATE TABLE t1;
|
|
select SUBPARTITION_METHOD FROM information_schema.partitions WHERE
|
|
table_schema="test" AND table_name="t1";
|
|
drop table t1;
|
|
|
|
create table t1 (a int)
|
|
PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN
|
|
(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
|
|
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53));
|
|
SHOW CREATE TABLE t1;
|
|
SELECT PARTITION_DESCRIPTION FROM information_schema.partitions WHERE
|
|
table_schema = "test" AND table_name = "t1";
|
|
drop table t1;
|
|
|
|
#
|
|
# Bug#38909 CREATE_OPTIONS in information_schema produces wrong results
|
|
#
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
create table t1 (f1 int key) partition by key(f1) partitions 2;
|
|
select create_options from information_schema.tables where table_schema="test";
|
|
drop table t1;
|
|
|
|
--echo # Bug #29870919 INFORMATION SCHEMA STATS EXPIRY RESULTS IN BAD
|
|
--echo # STATS FOR PARTITIONED TABLES
|
|
--echo #
|
|
--echo # Without the fix the cardinality values by SHOW INDEXES is invalid.
|
|
--echo #
|
|
|
|
CREATE TABLE t1
|
|
(f1 INT NOT NULL AUTO_INCREMENT,
|
|
f2 INT NOT NULL,
|
|
PRIMARY KEY (f1,f2)) ENGINE=InnoDB
|
|
PARTITION BY RANGE (f2)
|
|
(PARTITION p0 VALUES LESS THAN (100),
|
|
PARTITION p1 VALUES LESS THAN (200),
|
|
PARTITION p2 VALUES LESS THAN (300),
|
|
PARTITION p3 VALUES LESS THAN (MAXVALUE));
|
|
|
|
INSERT INTO t1 VALUES (NULL, 1);
|
|
INSERT INTO t1 VALUES (NULL, 2);
|
|
INSERT INTO t1 SELECT NULL, 3
|
|
FROM t1 a, t1 b, t1 c, t1 d, t1 e, t1 f, t1 g;
|
|
|
|
--echo # This SELECT caches the cardinality, as there is non cached yet.
|
|
SHOW INDEXES IN t1;
|
|
|
|
--echo # We do not account INSERTed rows into cardinality
|
|
--echo # because the cached value is not expired yet.
|
|
INSERT INTO t1 SELECT NULL, 4 FROM t1;
|
|
SHOW INDEXES IN t1;
|
|
|
|
--echo # We force update cache by calling ANALYZE TABLE.
|
|
ANALYZE TABLE t1;
|
|
SHOW INDEXES IN t1;
|
|
|
|
--echo # We do see INSERTed rows accounted into cardinality
|
|
--echo # because we ignore cache with expiry seconds set to 0.
|
|
SET session information_schema_stats_expiry = 0;
|
|
INSERT INTO t1 SELECT NULL, 4 FROM t1;
|
|
SHOW INDEXES IN t1;
|
|
|
|
DROP TABLE t1;
|