BUG#49180, fixed MAXVALUE problem
This commit is contained in:
parent
204c5ab9dd
commit
055030457e
@ -1,4 +1,14 @@
|
|||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range columns (a,b)
|
||||||
|
( partition p0 values less than (maxvalue, 10),
|
||||||
|
partition p1 values less than (maxvalue, maxvalue));
|
||||||
|
ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
|
||||||
|
create table t1 (a int, b int, c int)
|
||||||
|
partition by range columns (a,b,c)
|
||||||
|
( partition p0 values less than (1, maxvalue, 10),
|
||||||
|
partition p1 values less than (1, maxvalue, maxvalue));
|
||||||
|
ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
|
||||||
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci)
|
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci)
|
||||||
partition by range columns(a)
|
partition by range columns(a)
|
||||||
( partition p0 values less than ('a'),
|
( partition p0 values less than ('a'),
|
||||||
@ -89,7 +99,7 @@ subpartition by hash (to_seconds(d))
|
|||||||
subpartitions 4
|
subpartitions 4
|
||||||
( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
|
( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
|
||||||
partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
|
partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
|
||||||
partition p2 values less than (1, 'a', MAXVALUE, MAXVALUE),
|
partition p2 values less than (1, 'b', MAXVALUE, MAXVALUE),
|
||||||
partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
|
partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
|
||||||
select partition_method, partition_expression, partition_description
|
select partition_method, partition_expression, partition_description
|
||||||
from information_schema.partitions where table_name = "t1";
|
from information_schema.partitions where table_name = "t1";
|
||||||
@ -102,10 +112,10 @@ RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
|||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,'1999-01-01'
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,'b',MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,'b',MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,'b',MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,'a',MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,'b',MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
||||||
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
RANGE COLUMNS a,b,c,d 1,MAXVALUE,MAXVALUE,MAXVALUE
|
||||||
@ -123,7 +133,7 @@ SUBPARTITION BY HASH (to_seconds(d))
|
|||||||
SUBPARTITIONS 4
|
SUBPARTITIONS 4
|
||||||
(PARTITION p0 VALUES LESS THAN (1,'0',MAXVALUE,'1900-01-01') ENGINE = MyISAM,
|
(PARTITION p0 VALUES LESS THAN (1,'0',MAXVALUE,'1900-01-01') ENGINE = MyISAM,
|
||||||
PARTITION p1 VALUES LESS THAN (1,'a',MAXVALUE,'1999-01-01') ENGINE = MyISAM,
|
PARTITION p1 VALUES LESS THAN (1,'a',MAXVALUE,'1999-01-01') ENGINE = MyISAM,
|
||||||
PARTITION p2 VALUES LESS THAN (1,'a',MAXVALUE,MAXVALUE) ENGINE = MyISAM,
|
PARTITION p2 VALUES LESS THAN (1,'b',MAXVALUE,MAXVALUE) ENGINE = MyISAM,
|
||||||
PARTITION p3 VALUES LESS THAN (1,MAXVALUE,MAXVALUE,MAXVALUE) ENGINE = MyISAM) */
|
PARTITION p3 VALUES LESS THAN (1,MAXVALUE,MAXVALUE,MAXVALUE) ENGINE = MyISAM) */
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a int, b int)
|
create table t1 (a int, b int)
|
||||||
|
@ -8,6 +8,21 @@
|
|||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#49180, Possible to define empty intervals for column list partitioning
|
||||||
|
#
|
||||||
|
--error ER_RANGE_NOT_INCREASING_ERROR
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range columns (a,b)
|
||||||
|
( partition p0 values less than (maxvalue, 10),
|
||||||
|
partition p1 values less than (maxvalue, maxvalue));
|
||||||
|
|
||||||
|
--error ER_RANGE_NOT_INCREASING_ERROR
|
||||||
|
create table t1 (a int, b int, c int)
|
||||||
|
partition by range columns (a,b,c)
|
||||||
|
( partition p0 values less than (1, maxvalue, 10),
|
||||||
|
partition p1 values less than (1, maxvalue, maxvalue));
|
||||||
|
|
||||||
#
|
#
|
||||||
# BUG#48161, Delivering too few records using collate syntax with partitions
|
# BUG#48161, Delivering too few records using collate syntax with partitions
|
||||||
#
|
#
|
||||||
@ -78,7 +93,7 @@ subpartition by hash (to_seconds(d))
|
|||||||
subpartitions 4
|
subpartitions 4
|
||||||
( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
|
( partition p0 values less than (1, '0', MAXVALUE, '1900-01-01'),
|
||||||
partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
|
partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'),
|
||||||
partition p2 values less than (1, 'a', MAXVALUE, MAXVALUE),
|
partition p2 values less than (1, 'b', MAXVALUE, MAXVALUE),
|
||||||
partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
|
partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE));
|
||||||
select partition_method, partition_expression, partition_description
|
select partition_method, partition_expression, partition_description
|
||||||
from information_schema.partitions where table_name = "t1";
|
from information_schema.partitions where table_name = "t1";
|
||||||
|
@ -801,7 +801,7 @@ int partition_info::compare_column_values(const void *first_arg,
|
|||||||
if (first->max_value || second->max_value)
|
if (first->max_value || second->max_value)
|
||||||
{
|
{
|
||||||
if (first->max_value && second->max_value)
|
if (first->max_value && second->max_value)
|
||||||
continue;
|
return 0;
|
||||||
if (second->max_value)
|
if (second->max_value)
|
||||||
return -1;
|
return -1;
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user