mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
BUG#16000: .par file left behind plus unnecessary messages to error.log
New test cases mysql-test/r/partition_error.result: New test cases mysql-test/r/partition_mgm.result: New test cases mysql-test/t/partition_error.test: New test cases mysql-test/t/partition_mgm.test: New test cases
This commit is contained in:
@@ -89,6 +89,9 @@ partitions 3
|
||||
partition x2 tablespace ts2,
|
||||
partition x3 tablespace ts3);
|
||||
ERROR HY000: Field in list of fields for partition function not found in table
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -163,6 +166,9 @@ partitions 2
|
||||
(partition x1 values less than (4),
|
||||
partition x2 values less than (5));
|
||||
ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -173,6 +179,9 @@ partitions 2
|
||||
(partition x1 values in (4),
|
||||
partition x2 values in (5));
|
||||
ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -183,6 +192,9 @@ partitions 2
|
||||
(partition x1 values in (4,6),
|
||||
partition x2 values in (5,7));
|
||||
ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -191,6 +203,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -199,6 +214,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (a, b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -207,6 +225,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by hash (a+b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -215,6 +236,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -223,6 +247,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (a, b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -231,6 +258,9 @@ primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by hash (a+b);
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -249,6 +279,9 @@ subpartition by hash (sin(a+b))
|
||||
(partition x1 (subpartition x11, subpartition x12),
|
||||
partition x2 (subpartition x21, subpartition x22));
|
||||
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -271,6 +304,9 @@ subpartition by key (a,d)
|
||||
(partition x1 values less than (1) (subpartition x11, subpartition x12),
|
||||
partition x2 values less than (2) (subpartition x21, subpartition x22));
|
||||
ERROR HY000: Field in list of fields for partition function not found in table
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@@ -296,6 +332,9 @@ c int not null,
|
||||
primary key(a,b))
|
||||
partition by range (a);
|
||||
ERROR HY000: For RANGE partitions each partition must be defined
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
|
||||
NULL
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
|
||||
@@ -7,6 +7,12 @@ t1 CREATE TABLE `t1` (
|
||||
`f_date` date DEFAULT NULL,
|
||||
`f_varchar` varchar(30) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) PARTITIONS 2
|
||||
hello/master-data/test/t1#P#p0.MYD
|
||||
hello/master-data/test/t1#P#p0.MYI
|
||||
hello/master-data/test/t1#P#p1.MYD
|
||||
hello/master-data/test/t1#P#p1.MYI
|
||||
hello/master-data/test/t1.frm
|
||||
hello/master-data/test/t1.par
|
||||
ALTER TABLE t1 COALESCE PARTITION 1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
@@ -14,3 +20,7 @@ t1 CREATE TABLE `t1` (
|
||||
`f_date` date DEFAULT NULL,
|
||||
`f_varchar` varchar(30) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) PARTITIONS 1
|
||||
hello/master-data/test/t1#P#p0.MYD
|
||||
hello/master-data/test/t1#P#p0.MYI
|
||||
hello/master-data/test/t1.frm
|
||||
hello/master-data/test/t1.par
|
||||
|
||||
@@ -107,6 +107,8 @@ partitions 3
|
||||
(partition x1 tablespace ts1,
|
||||
partition x2 tablespace ts2,
|
||||
partition x3 tablespace ts3);
|
||||
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
#
|
||||
# Partition by hash, invalid field in function
|
||||
#
|
||||
@@ -202,6 +204,7 @@ partition by hash (a)
|
||||
partitions 2
|
||||
(partition x1 values less than (4),
|
||||
partition x2 values less than (5));
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Partition by hash, values in error
|
||||
@@ -216,6 +219,7 @@ partition by hash (a)
|
||||
partitions 2
|
||||
(partition x1 values in (4),
|
||||
partition x2 values in (5));
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Partition by hash, values in error
|
||||
@@ -230,6 +234,7 @@ partition by hash (a)
|
||||
partitions 2
|
||||
(partition x1 values in (4,6),
|
||||
partition x2 values in (5,7));
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by key, no partitions defined, single field
|
||||
@@ -242,6 +247,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by key, no partitions defined, list of fields
|
||||
@@ -254,6 +260,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (a, b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by hash, no partitions defined
|
||||
@@ -266,6 +273,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by hash (a+b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by key, no partitions defined, single field
|
||||
@@ -278,6 +286,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by key, no partitions defined, list of fields
|
||||
@@ -290,6 +299,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by key (a, b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by hash, no partitions defined
|
||||
@@ -302,6 +312,7 @@ c int not null,
|
||||
primary key (a,b))
|
||||
partition by key (a)
|
||||
subpartition by hash (a+b);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by hash, no partitions defined, wrong subpartition function
|
||||
@@ -328,6 +339,7 @@ partition by key (a)
|
||||
subpartition by hash (sin(a+b))
|
||||
(partition x1 (subpartition x11, subpartition x12),
|
||||
partition x2 (subpartition x21, subpartition x22));
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by hash, no partitions defined, wrong subpartition function
|
||||
@@ -356,6 +368,7 @@ partition by range (a)
|
||||
subpartition by key (a,d)
|
||||
(partition x1 values less than (1) (subpartition x11, subpartition x12),
|
||||
partition x2 values less than (2) (subpartition x21, subpartition x22));
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Subpartition by hash, no partitions defined, wrong subpartition function
|
||||
@@ -393,6 +406,7 @@ b int not null,
|
||||
c int not null,
|
||||
primary key(a,b))
|
||||
partition by range (a);
|
||||
select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
|
||||
|
||||
#
|
||||
# Partition by range, invalid field in function
|
||||
|
||||
@@ -5,10 +5,12 @@ CREATE TABLE t1 (f_date DATE, f_varchar VARCHAR(30))
|
||||
PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER)) PARTITIONS 2;
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
#--exec ls $MYSQLTEST_VARDIR/master-data/test/t1*
|
||||
--replace_result $MYSQLTEST_VARDIR "hello"
|
||||
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1*
|
||||
ALTER TABLE t1 COALESCE PARTITION 1;
|
||||
SHOW CREATE TABLE t1;
|
||||
#--exec ls $MYSQLTEST_VARDIR/master-data/test/t1*
|
||||
--replace_result $MYSQLTEST_VARDIR "hello"
|
||||
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1*
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user