Skip to content

Commit b15d79b

Browse files
author
Ioannis Mytilinis
committed
WL#16268[3]: Support for InnoDB Partitions Phase 2 - Enrich DD Info
After a mysqld crash, we need to automatically reload only the partitions that were previously loaded. For this purpose, we enrich the Data Dictionary information with a per-partition secondary_load flag. This flag is exposed in the partitions table of Information Schema. Moreover, we ensure that we log an entry in binlog for all partition load/unload operations but we don't update the table's secondary_laod flag in DD in case of a partition unload that does not unload all the partitions Other changes: - add partition load/unload test cases when the mock secondary engine is used Change-Id: If1196d983eb8e6f7954bedb3871064675574b1e3
1 parent d1fe1b1 commit b15d79b

18 files changed

+333
-75
lines changed

mysql-test/r/information_schema_ci.result

+2-2
Original file line numberDiff line numberDiff line change
@@ -1558,9 +1558,9 @@ CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA
15581558
select * from `information_schema`.`key_column_usage` where `TABLE_NAME` = NULL;
15591559
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
15601560
select * from `information_schema`.`PARTITIONS` where `TABLE_SCHEMA` = NULL;
1561-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
1561+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
15621562
select * from `information_schema`.`PARTITIONS` where `TABLE_NAME` = NULL;
1563-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
1563+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
15641564
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `CONSTRAINT_SCHEMA` = NULL;
15651565
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
15661566
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `TABLE_NAME` = NULL;

mysql-test/r/information_schema_cs.result

+2-2
Original file line numberDiff line numberDiff line change
@@ -1558,9 +1558,9 @@ CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA
15581558
select * from `information_schema`.`key_column_usage` where `TABLE_NAME` = NULL;
15591559
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
15601560
select * from `information_schema`.`PARTITIONS` where `TABLE_SCHEMA` = NULL;
1561-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
1561+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
15621562
select * from `information_schema`.`PARTITIONS` where `TABLE_NAME` = NULL;
1563-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
1563+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
15641564
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `CONSTRAINT_SCHEMA` = NULL;
15651565
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
15661566
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `TABLE_NAME` = NULL;

mysql-test/r/information_schema_part.result

+38-38
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ partition x2 values in (3, 11, 5, 7),
66
partition x3 values in (16, 8, 5+19, 70-43));
77
select * from information_schema.partitions where table_schema="test"
88
and table_name="t1";
9-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
10-
def test t1 x1 NULL 1 NULL LIST NULL (`b` * `a`) NULL 1 0 0 16384 # 0 0 # # NULL NULL default NULL
11-
def test t1 x2 NULL 2 NULL LIST NULL (`b` * `a`) NULL 3,11,5,7 0 0 16384 # 0 0 # # NULL NULL default NULL
12-
def test t1 x3 NULL 3 NULL LIST NULL (`b` * `a`) NULL 16,8,24,27 0 0 16384 # 0 0 # # NULL NULL default NULL
9+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
10+
def test t1 x1 NULL 1 NULL 0 LIST NULL (`b` * `a`) NULL 1 0 0 # 0 0 # # NULL NULL NULL default NULL
11+
def test t1 x2 NULL 2 NULL 0 LIST NULL (`b` * `a`) NULL 3,11,5,7 0 0 # 0 0 # # NULL NULL NULL default NULL
12+
def test t1 x3 NULL 3 NULL 0 LIST NULL (`b` * `a`) NULL 16,8,24,27 0 0 # 0 0 # # NULL NULL NULL default NULL
1313
create table t2 (a int not null,b int not null,c int not null, primary key(a,b))
1414
partition by range (a)
1515
partitions 3
@@ -18,28 +18,28 @@ partition x2 values less than (10),
1818
partition x3 values less than maxvalue);
1919
select * from information_schema.partitions where table_schema="test"
2020
and table_name="t2";
21-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
22-
def test t2 x1 NULL 1 NULL RANGE NULL `a` NULL 5 0 0 16384 # 0 0 # # NULL NULL default NULL
23-
def test t2 x2 NULL 2 NULL RANGE NULL `a` NULL 10 0 0 16384 # 0 0 # # NULL NULL default NULL
24-
def test t2 x3 NULL 3 NULL RANGE NULL `a` NULL MAXVALUE 0 0 16384 # 0 0 # # NULL NULL default NULL
21+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
22+
def test t2 x1 NULL 1 NULL 0 RANGE NULL `a` NULL 5 0 0 # 0 0 # # NULL NULL NULL default NULL
23+
def test t2 x2 NULL 2 NULL 0 RANGE NULL `a` NULL 10 0 0 # 0 0 # # NULL NULL NULL default NULL
24+
def test t2 x3 NULL 3 NULL 0 RANGE NULL `a` NULL MAXVALUE 0 0 # 0 0 # # NULL NULL NULL default NULL
2525
create table t3 (f1 date)
2626
partition by hash(month(f1))
2727
partitions 3;
2828
select * from information_schema.partitions where table_schema="test"
2929
and table_name="t3";
30-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
31-
def test t3 p0 NULL 1 NULL HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
32-
def test t3 p1 NULL 2 NULL HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
33-
def test t3 p2 NULL 3 NULL HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
30+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
31+
def test t3 p0 NULL 1 NULL 0 HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
32+
def test t3 p1 NULL 2 NULL 0 HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
33+
def test t3 p2 NULL 3 NULL 0 HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
3434
create table t4 (f1 date, f2 int)
3535
partition by key(f1,f2)
3636
partitions 3;
3737
select * from information_schema.partitions where table_schema="test"
3838
and table_name="t4";
39-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
40-
def test t4 p0 NULL 1 NULL KEY NULL `f1`,`f2` NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
41-
def test t4 p1 NULL 2 NULL KEY NULL `f1`,`f2` NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
42-
def test t4 p2 NULL 3 NULL KEY NULL `f1`,`f2` NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
39+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
40+
def test t4 p0 NULL 1 NULL 0 KEY NULL `f1`,`f2` NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
41+
def test t4 p1 NULL 2 NULL 0 KEY NULL `f1`,`f2` NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
42+
def test t4 p2 NULL 3 NULL 0 KEY NULL `f1`,`f2` NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
4343
drop table t1,t2,t3,t4;
4444
create table t1 (a int not null,b int not null,c int not null,primary key (a,b))
4545
partition by range (a)
@@ -62,15 +62,15 @@ partition x2 values less than (5)
6262
subpartition x22)
6363
);
6464
select * from information_schema.partitions where table_schema="test";
65-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
66-
def test t1 x1 x11 1 1 RANGE HASH `a` (`a` + `b`) 1 0 0 16384 # 0 0 # # NULL NULL default NULL
67-
def test t1 x1 x12 1 2 RANGE HASH `a` (`a` + `b`) 1 0 0 16384 # 0 0 # # NULL NULL default NULL
68-
def test t1 x2 x21 2 1 RANGE HASH `a` (`a` + `b`) 5 0 0 16384 # 0 0 # # NULL NULL default NULL
69-
def test t1 x2 x22 2 2 RANGE HASH `a` (`a` + `b`) 5 0 0 16384 # 0 0 # # NULL NULL default NULL
70-
def test t2 x1 x11 1 1 RANGE KEY `a` `a` 1 0 0 16384 # 0 0 # # NULL NULL default NULL
71-
def test t2 x1 x12 1 2 RANGE KEY `a` `a` 1 0 0 16384 # 0 0 # # NULL NULL default NULL
72-
def test t2 x2 x21 2 1 RANGE KEY `a` `a` 5 0 0 16384 # 0 0 # # NULL NULL default NULL
73-
def test t2 x2 x22 2 2 RANGE KEY `a` `a` 5 0 0 16384 # 0 0 # # NULL NULL default NULL
65+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
66+
def test t1 x1 x11 1 1 0 RANGE HASH `a` (`a` + `b`) 1 0 0 # 0 0 # # NULL NULL NULL default NULL
67+
def test t1 x1 x12 1 2 0 RANGE HASH `a` (`a` + `b`) 1 0 0 # 0 0 # # NULL NULL NULL default NULL
68+
def test t1 x2 x21 2 1 0 RANGE HASH `a` (`a` + `b`) 5 0 0 # 0 0 # # NULL NULL NULL default NULL
69+
def test t1 x2 x22 2 2 0 RANGE HASH `a` (`a` + `b`) 5 0 0 # 0 0 # # NULL NULL NULL default NULL
70+
def test t2 x1 x11 1 1 0 RANGE KEY `a` `a` 1 0 0 # 0 0 # # NULL NULL NULL default NULL
71+
def test t2 x1 x12 1 2 0 RANGE KEY `a` `a` 1 0 0 # 0 0 # # NULL NULL NULL default NULL
72+
def test t2 x2 x21 2 1 0 RANGE KEY `a` `a` 5 0 0 # 0 0 # # NULL NULL NULL default NULL
73+
def test t2 x2 x22 2 2 0 RANGE KEY `a` `a` 5 0 0 # 0 0 # # NULL NULL NULL default NULL
7474
drop table t1,t2;
7575
create table t1 (
7676
a int not null,
@@ -90,31 +90,31 @@ partition x3 values less than (10)
9090
subpartition x32 nodegroup 1)
9191
);
9292
select * from information_schema.partitions where table_schema="test";
93-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
94-
def test t1 x1 x11 1 1 RANGE HASH `a` (`a` + `b`) 1 0 0 16384 # 0 0 # # NULL NULL 0 NULL
95-
def test t1 x1 x12 1 2 RANGE HASH `a` (`a` + `b`) 1 0 0 16384 # 0 0 # # NULL NULL 1 NULL
96-
def test t1 x2 x21 2 1 RANGE HASH `a` (`a` + `b`) 5 0 0 16384 # 0 0 # # NULL NULL 0 NULL
97-
def test t1 x2 x22 2 2 RANGE HASH `a` (`a` + `b`) 5 0 0 16384 # 0 0 # # NULL NULL 1 NULL
98-
def test t1 x3 x31 3 1 RANGE HASH `a` (`a` + `b`) 10 0 0 16384 # 0 0 # # NULL NULL default NULL
99-
def test t1 x3 x32 3 2 RANGE HASH `a` (`a` + `b`) 10 0 0 16384 # 0 0 # # NULL NULL 1 NULL
93+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
94+
def test t1 x1 x11 1 1 0 RANGE HASH `a` (`a` + `b`) 1 0 0 # 0 0 # # NULL NULL NULL 0 NULL
95+
def test t1 x1 x12 1 2 0 RANGE HASH `a` (`a` + `b`) 1 0 0 # 0 0 # # NULL NULL NULL 1 NULL
96+
def test t1 x2 x21 2 1 0 RANGE HASH `a` (`a` + `b`) 5 0 0 # 0 0 # # NULL NULL NULL 0 NULL
97+
def test t1 x2 x22 2 2 0 RANGE HASH `a` (`a` + `b`) 5 0 0 # 0 0 # # NULL NULL NULL 1 NULL
98+
def test t1 x3 x31 3 1 0 RANGE HASH `a` (`a` + `b`) 10 0 0 # 0 0 # # NULL NULL NULL default NULL
99+
def test t1 x3 x32 3 2 0 RANGE HASH `a` (`a` + `b`) 10 0 0 # 0 0 # # NULL NULL NULL 1 NULL
100100
show tables;
101101
Tables_in_test
102102
t1
103103
drop table t1;
104104
create table t1(f1 int, f2 int);
105105
select * from information_schema.partitions where table_schema="test";
106-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
107-
def test t1 NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 0 16384 # 0 0 # # NULL NULL NULL
106+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
107+
def test t1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 0 # 0 0 # # NULL NULL NULL NULL
108108
drop table t1;
109109
create table t1 (f1 date)
110110
partition by linear hash(month(f1))
111111
partitions 3;
112112
select * from information_schema.partitions where table_schema="test"
113113
and table_name="t1";
114-
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
115-
def test t1 p0 NULL 1 NULL LINEAR HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
116-
def test t1 p1 NULL 2 NULL LINEAR HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
117-
def test t1 p2 NULL 3 NULL LINEAR HASH NULL month(`f1`) NULL NULL 0 0 16384 # 0 0 # # NULL NULL default NULL
114+
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION SECONDARY_LOAD PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
115+
def test t1 p0 NULL 1 NULL 0 LINEAR HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
116+
def test t1 p1 NULL 2 NULL 0 LINEAR HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
117+
def test t1 p2 NULL 3 NULL 0 LINEAR HASH NULL month(`f1`) NULL NULL 0 0 # 0 0 # # NULL NULL NULL default NULL
118118
drop table t1;
119119
create table t1 (a int)
120120
PARTITION BY RANGE (a)

0 commit comments

Comments
 (0)