mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
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
5 changed files with 26 additions and 2 deletions
|
@ -428,4 +428,8 @@ partition by list (a)
|
|||
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
|
||||
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
|
||||
|
|
|
@ -141,7 +141,9 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
||||
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 p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||
);
|
||||
|
|
|
@ -552,4 +552,13 @@ alter table t1 rebuild partition;
|
|||
|
||||
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
|
||||
|
|
|
@ -205,7 +205,9 @@ DROP TABLE t1;
|
|||
#BUG 15408: Partitions: subpartition names are not unique
|
||||
#
|
||||
--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 p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||
);
|
||||
|
|
|
@ -692,6 +692,13 @@ bool check_partition_info(partition_info *part_info,handlerton **eng_type,
|
|||
char *same_name;
|
||||
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() &&
|
||||
(!(part_info->part_type == RANGE_PARTITION ||
|
||||
part_info->part_type == LIST_PARTITION))))
|
||||
|
|
Loading…
Reference in a new issue