mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into zim.(none):/home/mikael/bug15961
This commit is contained in:
commit
a0f22844a7
6 changed files with 30 additions and 3 deletions
|
@ -428,6 +428,10 @@ 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
|
||||
create table t1 (a int) engine=innodb partition by hash(a) ;
|
||||
show table status like 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
|
|
|
@ -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,6 +552,14 @@ 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));
|
||||
|
||||
#
|
||||
# Bug #14673: Wrong InnoDB default row format
|
||||
#
|
||||
|
|
|
@ -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)
|
||||
);
|
||||
|
|
|
@ -5614,6 +5614,10 @@ ER_PARTITION_MAXVALUE_ERROR
|
|||
ER_PARTITION_SUBPARTITION_ERROR
|
||||
eng "Subpartitions can only be hash partitions and by key"
|
||||
swe "Subpartitioner kan bara vara hash och key partitioner"
|
||||
ER_PARTITION_SUBPART_MIX_ERROR
|
||||
eng "Must define subpartitions on all partitions if on one partition"
|
||||
swe "Subpartitioner måste definieras på alla partitioner om på en"
|
||||
|
||||
ER_PARTITION_WRONG_NO_PART_ERROR
|
||||
eng "Wrong number of partitions defined, mismatch with previous setting"
|
||||
swe "Antal partitioner definierade och antal partitioner är inte lika"
|
||||
|
|
|
@ -692,12 +692,19 @@ 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))))
|
||||
{
|
||||
/* Only RANGE and LIST partitioning can be subpartitioned */
|
||||
my_error(ER_SUBPARTITION_ERROR, MYF(0));
|
||||
my_error(ER_PARTITION_SUBPART_MIX_ERROR, MYF(0));
|
||||
goto end;
|
||||
}
|
||||
if (unlikely(part_info->set_up_defaults_for_partitioning(file,
|
||||
|
|
Loading…
Reference in a new issue