Commit 287dfc14 authored by Mattias Jonsson's avatar Mattias Jonsson

Bug#48737: Partitions: search fails with ucs2

Recommit of patch:
http://lists.mysql.com/commits/91400

Test case only (code part was pushes as bug-49028)

mysql-test/r/partition_column.result:
  Bug#48737: Partitions: search fails with ucs2
  
  added test case
mysql-test/t/partition_column.test:
  Bug#48737: Partitions: search fails with ucs2
  
  Added result
parent c736665e
...@@ -9,6 +9,30 @@ partition by range columns (a,b,c) ...@@ -9,6 +9,30 @@ partition by range columns (a,b,c)
( partition p0 values less than (1, maxvalue, 10), ( partition p0 values less than (1, maxvalue, 10),
partition p1 values less than (1, maxvalue, maxvalue)); partition p1 values less than (1, maxvalue, maxvalue));
ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
create table t1 (a varchar(5) character set ucs2 collate ucs2_bin)
partition by range columns (a)
(partition p0 values less than (0x0041));
insert into t1 values (0x00410000);
select hex(a) from t1 where a like 'A_';
hex(a)
00410000
explain partitions select hex(a) from t1 where a like 'A_';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0 system NULL NULL NULL NULL 1
alter table t1 remove partitioning;
select hex(a) from t1 where a like 'A_';
hex(a)
00410000
create index a on t1 (a);
select hex(a) from t1 where a like 'A_';
hex(a)
00410000
insert into t1 values ('A_');
select hex(a) from t1;
hex(a)
00410000
0041005F
drop table t1;
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'),
......
...@@ -23,6 +23,23 @@ partition by range columns (a,b,c) ...@@ -23,6 +23,23 @@ partition by range columns (a,b,c)
( partition p0 values less than (1, maxvalue, 10), ( partition p0 values less than (1, maxvalue, 10),
partition p1 values less than (1, maxvalue, maxvalue)); partition p1 values less than (1, maxvalue, maxvalue));
#
# BUG#48737, Search fails with ucs2
#
create table t1 (a varchar(5) character set ucs2 collate ucs2_bin)
partition by range columns (a)
(partition p0 values less than (0x0041));
insert into t1 values (0x00410000);
select hex(a) from t1 where a like 'A_';
explain partitions select hex(a) from t1 where a like 'A_';
alter table t1 remove partitioning;
select hex(a) from t1 where a like 'A_';
create index a on t1 (a);
select hex(a) from t1 where a like 'A_';
insert into t1 values ('A_');
select hex(a) from t1;
drop table t1;
# #
# BUG#48161, Delivering too few records using collate syntax with partitions # BUG#48161, Delivering too few records using collate syntax with partitions
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment