mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 20:11:42 +01:00
abd09620db
The partitioning clause is only a very long single line, which is very hard to interpret for a human. This patch breaks the partitioning syntax into one line for the partitioning type, and one line per partition/subpartition.
172 lines
3.6 KiB
Text
172 lines
3.6 KiB
Text
create table t1 (a float not null, primary key(a)) engine='InnoDB'
|
|
partition by key (a) (
|
|
partition pa1 max_rows=20 min_rows=2,
|
|
partition pa2 max_rows=30 min_rows=3,
|
|
partition pa3 max_rows=30 min_rows=4,
|
|
partition pa4 max_rows=40 min_rows=2);
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` float NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB,
|
|
PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB,
|
|
PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB,
|
|
PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
|
|
insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5);
|
|
select * from t1;
|
|
a
|
|
-3.40282e+38
|
|
-1.5
|
|
-1
|
|
0
|
|
1
|
|
1.5
|
|
3.40282e+38
|
|
select * from t1 where a=1.5;
|
|
a
|
|
1.5
|
|
delete from t1 where a=1.5;
|
|
select * from t1;
|
|
a
|
|
-3.40282e+38
|
|
-1.5
|
|
-1
|
|
0
|
|
1
|
|
3.40282e+38
|
|
drop table t1;
|
|
create table t2 (a float not null, primary key(a)) engine='InnoDB'
|
|
partition by key (a) partitions 10;
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`a` float NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
PARTITIONS 10 */
|
|
insert into t2 values (-3.402823466E+38), (-3.402823466E+37), (-123.456), (0), (1234546.789), (123.456), (1.5);
|
|
select * from t2;
|
|
a
|
|
-3.40282e+38
|
|
-3.40282e+37
|
|
-123.456
|
|
0
|
|
1.5
|
|
123.456
|
|
1.23455e+06
|
|
select * from t2 where a=123.456;
|
|
a
|
|
delete from t2 where a=123.456;
|
|
select * from t2;
|
|
a
|
|
-3.40282e+38
|
|
-3.40282e+37
|
|
-123.456
|
|
0
|
|
1.5
|
|
123.456
|
|
1.23455e+06
|
|
select * from t2 where a=1.5;
|
|
a
|
|
1.5
|
|
delete from t2 where a=1.5;
|
|
select * from t2;
|
|
a
|
|
-3.40282e+38
|
|
-3.40282e+37
|
|
-123.456
|
|
0
|
|
123.456
|
|
1.23455e+06
|
|
delete from t2;
|
|
1024*3 inserts;
|
|
select count(*) from t2;
|
|
count(*)
|
|
3072
|
|
drop table t2;
|
|
create table t1 (a double not null, primary key(a)) engine='InnoDB'
|
|
partition by key (a) (
|
|
partition pa1 max_rows=20 min_rows=2,
|
|
partition pa2 max_rows=30 min_rows=3,
|
|
partition pa3 max_rows=30 min_rows=4,
|
|
partition pa4 max_rows=40 min_rows=2);
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` double NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB,
|
|
PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB,
|
|
PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB,
|
|
PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
|
|
insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208);
|
|
select * from t1;
|
|
a
|
|
-2.2250738585072e+208
|
|
-1.5
|
|
-1
|
|
-2.2250738585072e-208
|
|
0
|
|
1.5
|
|
1234.567
|
|
2.2250738585072e+208
|
|
select * from t1 where a=1.5;
|
|
a
|
|
1.5
|
|
delete from t1 where a=1.5;
|
|
select * from t1;
|
|
a
|
|
-2.2250738585072e+208
|
|
-1.5
|
|
-1
|
|
-2.2250738585072e-208
|
|
0
|
|
1234.567
|
|
2.2250738585072e+208
|
|
drop table t1;
|
|
create table t2 (a double not null, primary key(a)) engine='InnoDB'
|
|
partition by key (a) partitions 10;
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`a` double NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
PARTITIONS 10 */
|
|
insert into t2 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208);
|
|
select * from t2;
|
|
a
|
|
-2.2250738585072e+208
|
|
-1.5
|
|
-1
|
|
-2.2250738585072e-208
|
|
0
|
|
1.5
|
|
1234.567
|
|
2.2250738585072e+208
|
|
select * from t2 where a=1234.567;
|
|
a
|
|
1234.567
|
|
delete from t2 where a=1234.567;
|
|
select * from t2;
|
|
a
|
|
-2.2250738585072e+208
|
|
-1.5
|
|
-1
|
|
-2.2250738585072e-208
|
|
0
|
|
1.5
|
|
2.2250738585072e+208
|
|
delete from t2;
|
|
1024*3 inserts;
|
|
select count(*) from t2;
|
|
count(*)
|
|
3072
|
|
drop table t2;
|