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
|
s1 s2 s3
|
||||||
a A A
|
a A A
|
||||||
DROP TABLE t1;
|
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;
|
SET NAMES latin1;
|
||||||
CREATE TABLE t1
|
CREATE TABLE t1
|
||||||
(s1 char(10) COLLATE latin1_german1_ci,
|
(s1 char(10) COLLATE latin1_german1_ci,
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
drop table if exists t1;
|
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');
|
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;
|
||||||
a
|
a
|
||||||
@ -14,27 +19,7 @@ a
|
|||||||
b
|
b
|
||||||
C
|
C
|
||||||
c
|
c
|
||||||
create index i on t1 (a);
|
alter table t1 remove partitioning;
|
||||||
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'));
|
|
||||||
select * from t1 where a > 'B' collate latin1_bin;
|
select * from t1 where a > 'B' collate latin1_bin;
|
||||||
a
|
a
|
||||||
a
|
a
|
||||||
|
@ -172,6 +172,18 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
# Test that optimizer doesn't use indexes with wrong collation
|
# 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;
|
SET NAMES latin1;
|
||||||
CREATE TABLE t1
|
CREATE TABLE t1
|
||||||
(s1 char(10) COLLATE latin1_german1_ci,
|
(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#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
|
# Test case from BUG#48447 with some extension
|
||||||
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)
|
||||||
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
|
|
||||||
partition by range columns(a)
|
partition by range columns(a)
|
||||||
( partition p0 values less than ('a'),
|
( partition p0 values less than ('a'),
|
||||||
partition p1 values less than ('b'),
|
partition p1 values less than ('b'),
|
||||||
partition p2 values less than ('c'),
|
partition p2 values less than ('c'),
|
||||||
partition p3 values less than ('d'));
|
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;
|
||||||
select * from t1 where a <> 'B' collate latin1_bin;
|
select * from t1 where a <> 'B' collate latin1_bin;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
# Test case from BUG#48161
|
# Test case from BUG#48161
|
||||||
create table t1 (a varchar(2) character set latin1,
|
create table t1 (a varchar(2) character set latin1,
|
||||||
b varchar(2) character set latin1)
|
b varchar(2) character set latin1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user