Review fixes for BUG#48161 and BUG#48447
This commit is contained in:
parent
ca9fe97e9f
commit
bf7771df3f
@ -548,6 +548,36 @@ SELECT * FROM t1 WHERE s2 = s3;
|
||||
s1 s2 s3
|
||||
a A A
|
||||
DROP TABLE t1;
|
||||
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci);
|
||||
insert into t1 values ('A'),('a'),('B'),('b'),('C'),('c');
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
a
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
a
|
||||
A
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
create index i on t1 (a);
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
a
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
a
|
||||
A
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
drop table t1;
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1
|
||||
(s1 char(10) COLLATE latin1_german1_ci,
|
||||
|
@ -1,5 +1,10 @@
|
||||
drop table if exists 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 p0 values less than ('a'),
|
||||
partition p1 values less than ('b'),
|
||||
partition p2 values less than ('c'),
|
||||
partition p3 values less than ('d'));
|
||||
insert into t1 values ('A'),('a'),('B'),('b'),('C'),('c');
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
a
|
||||
@ -14,27 +19,7 @@ a
|
||||
b
|
||||
C
|
||||
c
|
||||
create index i on t1 (a);
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
a
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
a
|
||||
A
|
||||
a
|
||||
b
|
||||
C
|
||||
c
|
||||
drop index i on t1;
|
||||
alter table t1
|
||||
partition by range columns(a)
|
||||
( partition p0 values less than ('a'),
|
||||
partition p1 values less than ('b'),
|
||||
partition p2 values less than ('c'),
|
||||
partition p3 values less than ('d'));
|
||||
alter table t1 remove partitioning;
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
a
|
||||
a
|
||||
|
@ -172,6 +172,18 @@ DROP TABLE t1;
|
||||
#
|
||||
# Test that optimizer doesn't use indexes with wrong collation
|
||||
#
|
||||
#
|
||||
# BUG#48447, Delivering too few records with indexes using collate syntax
|
||||
#
|
||||
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci);
|
||||
insert into t1 values ('A'),('a'),('B'),('b'),('C'),('c');
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
create index i on t1 (a);
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
drop table t1;
|
||||
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1
|
||||
(s1 char(10) COLLATE latin1_german1_ci,
|
||||
|
@ -10,26 +10,22 @@ drop table if exists t1;
|
||||
|
||||
#
|
||||
# BUG#48161, Delivering too few records using collate syntax with partitions
|
||||
# BUG#48447, Delivering too few records with indexes using collate syntax
|
||||
#
|
||||
# Test case from BUG#48447 with some extension
|
||||
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci);
|
||||
insert into t1 values ('A'),('a'),('B'),('b'),('C'),('c');
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
create index i on t1 (a);
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
drop index i on t1;
|
||||
alter table t1
|
||||
create table t1 (a varchar(1) character set latin1 collate latin1_general_ci)
|
||||
partition by range columns(a)
|
||||
( partition p0 values less than ('a'),
|
||||
partition p1 values less than ('b'),
|
||||
partition p2 values less than ('c'),
|
||||
partition p3 values less than ('d'));
|
||||
insert into t1 values ('A'),('a'),('B'),('b'),('C'),('c');
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
alter table t1 remove partitioning;
|
||||
select * from t1 where a > 'B' collate latin1_bin;
|
||||
select * from t1 where a <> 'B' collate latin1_bin;
|
||||
drop table t1;
|
||||
|
||||
# Test case from BUG#48161
|
||||
create table t1 (a varchar(2) character set latin1,
|
||||
b varchar(2) character set latin1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user