BUG#15961: SUBPARTITION defined in non-subpartitioned table no error
Made sure that no subpartition stuff in non-subpartitioned table mysql-test/r/partition.result: New test case mysql-test/r/partition_mgm_err.result: Fixed bug in test case mysql-test/t/partition.test: New test case mysql-test/t/partition_mgm_err.test: Fixed bug in test case sql/sql_partition.cc: Made sure that no subpartition stuff in non-subpartitioned table
This commit is contained in:
parent
a264a79eb7
commit
29cd6ff642
@ -428,4 +428,8 @@ partition by list (a)
|
|||||||
alter table t1 rebuild partition;
|
alter table t1 rebuild partition;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0 (subpartition sp0));
|
||||||
|
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -141,7 +141,9 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
||||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (s1 int, s2 int) PARTITION BY LIST (s1) (
|
CREATE TABLE t1 (s1 int, s2 int)
|
||||||
|
PARTITION BY LIST (s1)
|
||||||
|
SUBPARTITION BY KEY (s2) (
|
||||||
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
||||||
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||||
);
|
);
|
||||||
|
@ -552,4 +552,13 @@ alter table t1 rebuild partition;
|
|||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 15961 No error when subpartition defined without subpartition by clause
|
||||||
|
#
|
||||||
|
--error ER_SUBPARTITION_ERROR
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0 (subpartition sp0));
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -205,7 +205,9 @@ DROP TABLE t1;
|
|||||||
#BUG 15408: Partitions: subpartition names are not unique
|
#BUG 15408: Partitions: subpartition names are not unique
|
||||||
#
|
#
|
||||||
--error ER_SAME_NAME_PARTITION
|
--error ER_SAME_NAME_PARTITION
|
||||||
CREATE TABLE t1 (s1 int, s2 int) PARTITION BY LIST (s1) (
|
CREATE TABLE t1 (s1 int, s2 int)
|
||||||
|
PARTITION BY LIST (s1)
|
||||||
|
SUBPARTITION BY KEY (s2) (
|
||||||
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
||||||
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||||
);
|
);
|
||||||
|
@ -692,6 +692,13 @@ bool check_partition_info(partition_info *part_info,handlerton **eng_type,
|
|||||||
char *same_name;
|
char *same_name;
|
||||||
DBUG_ENTER("check_partition_info");
|
DBUG_ENTER("check_partition_info");
|
||||||
|
|
||||||
|
if (unlikely(!part_info->is_sub_partitioned() &&
|
||||||
|
!(part_info->use_default_subpartitions &&
|
||||||
|
part_info->use_default_no_subpartitions)))
|
||||||
|
{
|
||||||
|
my_error(ER_SUBPARTITION_ERROR, MYF(0));
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
if (unlikely(part_info->is_sub_partitioned() &&
|
if (unlikely(part_info->is_sub_partitioned() &&
|
||||||
(!(part_info->part_type == RANGE_PARTITION ||
|
(!(part_info->part_type == RANGE_PARTITION ||
|
||||||
part_info->part_type == LIST_PARTITION))))
|
part_info->part_type == LIST_PARTITION))))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user