mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into ice.snake.net:/Users/paul/mysql-4.1
This commit is contained in:
@ -111,3 +111,35 @@ id
|
||||
5
|
||||
9
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
a char(1) character set latin1 collate latin1_general_ci,
|
||||
b char(1) character set latin1 collate latin1_swedish_ci,
|
||||
c char(1) character set latin1 collate latin1_danish_ci
|
||||
);
|
||||
insert into t1 values ('A','B','C');
|
||||
insert into t1 values ('a','c','c');
|
||||
select * from t1 where a in (b);
|
||||
ERROR HY000: Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation ' IN '
|
||||
select * from t1 where a in (b,c);
|
||||
ERROR HY000: Illegal mix of collations (latin1_general_ci,IMPLICIT), (latin1_swedish_ci,IMPLICIT), (latin1_danish_ci,IMPLICIT) for operation ' IN '
|
||||
select * from t1 where 'a' in (a,b,c);
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
select * from t1 where 'a' in (a);
|
||||
a b c
|
||||
A B C
|
||||
a c c
|
||||
select * from t1 where a in ('a');
|
||||
a b c
|
||||
A B C
|
||||
a c c
|
||||
select * from t1 where 'a' collate latin1_general_ci in (a,b,c);
|
||||
a b c
|
||||
A B C
|
||||
a c c
|
||||
select * from t1 where 'a' collate latin1_bin in (a,b,c);
|
||||
a b c
|
||||
a c c
|
||||
select * from t1 where 'a' in (a,b,c collate latin1_bin);
|
||||
a b c
|
||||
a c c
|
||||
drop table t1;
|
||||
|
@ -363,15 +363,15 @@ select _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin);
|
||||
_latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin)
|
||||
0
|
||||
select _latin2'B' in (_latin1'a',_latin1'b');
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
|
||||
select _latin1'B' in (_latin2'a',_latin1'b');
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
|
||||
select _latin1'B' in (_latin1'a',_latin2'b');
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE) for operation ' IN '
|
||||
select _latin1'B' COLLATE latin1_general_ci in (_latin1'a' COLLATE latin1_bin,_latin1'b');
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_bin,EXPLICIT), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
|
||||
select _latin1'B' COLLATE latin1_general_ci in (_latin1'a',_latin1'b' COLLATE latin1_bin);
|
||||
ERROR HY000: Illegal mix of collations for operation ' IN '
|
||||
ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_swedish_ci,COERCIBLE), (latin1_bin,EXPLICIT) for operation ' IN '
|
||||
select collation(bin(130)), coercibility(bin(130));
|
||||
collation(bin(130)) coercibility(bin(130))
|
||||
latin1_swedish_ci 3
|
||||
|
@ -54,3 +54,22 @@ insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
select * from t1 where id in (2,5,9);
|
||||
drop table t1;
|
||||
|
||||
create table t1 (
|
||||
a char(1) character set latin1 collate latin1_general_ci,
|
||||
b char(1) character set latin1 collate latin1_swedish_ci,
|
||||
c char(1) character set latin1 collate latin1_danish_ci
|
||||
);
|
||||
insert into t1 values ('A','B','C');
|
||||
insert into t1 values ('a','c','c');
|
||||
--error 1265
|
||||
select * from t1 where a in (b);
|
||||
--error 1268
|
||||
select * from t1 where a in (b,c);
|
||||
--error 1269
|
||||
select * from t1 where 'a' in (a,b,c);
|
||||
select * from t1 where 'a' in (a);
|
||||
select * from t1 where a in ('a');
|
||||
select * from t1 where 'a' collate latin1_general_ci in (a,b,c);
|
||||
select * from t1 where 'a' collate latin1_bin in (a,b,c);
|
||||
select * from t1 where 'a' in (a,b,c collate latin1_bin);
|
||||
drop table t1;
|
||||
|
@ -217,15 +217,15 @@ select _latin1'B' in (_latin1'a',_latin1'b');
|
||||
select _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b');
|
||||
select _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b');
|
||||
select _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin);
|
||||
--error 1269
|
||||
--error 1268
|
||||
select _latin2'B' in (_latin1'a',_latin1'b');
|
||||
--error 1269
|
||||
--error 1268
|
||||
select _latin1'B' in (_latin2'a',_latin1'b');
|
||||
--error 1269
|
||||
--error 1268
|
||||
select _latin1'B' in (_latin1'a',_latin2'b');
|
||||
--error 1269
|
||||
--error 1268
|
||||
select _latin1'B' COLLATE latin1_general_ci in (_latin1'a' COLLATE latin1_bin,_latin1'b');
|
||||
--error 1269
|
||||
--error 1268
|
||||
select _latin1'B' COLLATE latin1_general_ci in (_latin1'a',_latin1'b' COLLATE latin1_bin);
|
||||
|
||||
select collation(bin(130)), coercibility(bin(130));
|
||||
|
Reference in New Issue
Block a user