1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#15949 union + illegal mix of collations (IMPLICIT + COERCIBLE)

union.result, union.test:
  Adding test case.
item.cc:
  Allow safe character set conversion in UNION
  - string constant to column's charset
  - to unicode
  Thus, UNION now works the same with CONCAT (and other string functions)
  in respect of aggregating arguments with different character sets.
This commit is contained in:
bar@mysql.com
2006-03-01 17:58:01 +04:00
parent e75a62aeae
commit a6973ceed0
3 changed files with 22 additions and 3 deletions

View File

@ -1185,6 +1185,16 @@ select concat('value is: ', @val) union select 'some text';
concat('value is: ', @val)
value is: 6
some text
select concat(_latin1'a', _ascii'b' collate ascii_bin);
concat(_latin1'a', _ascii'b' collate ascii_bin)
ab
create table t1 (foo varchar(100)) collate ascii_bin;
insert into t1 (foo) values ("foo");
select foo from t1 union select 'bar' as foo from dual;
foo
foo
bar
drop table t1;
CREATE TABLE t1 (
a ENUM('<27>','<27>','<27>') character set utf8 not null default '<27>',
b ENUM("one", "two") character set utf8,
@ -1214,7 +1224,7 @@ Field Type Null Key Default Extra
a char(1)
drop table t2;
create table t2 select a from t1 union select c from t1;
ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation 'UNION'
drop table t2;
create table t2 select a from t1 union select b from t1;
show columns from t2;
Field Type Null Key Default Extra