mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge mysql.com:/usr/home/bar/mysql-4.1
into mysql.com:/usr/home/bar/mysql-4.1.b9509 mysql-test/r/ctype_utf8.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@ -924,6 +924,37 @@ NULL
|
||||
select ifnull(NULL, _utf8'string');
|
||||
ifnull(NULL, _utf8'string')
|
||||
string
|
||||
set names utf8;
|
||||
create table t1 (s1 char(5) character set utf8 collate utf8_lithuanian_ci);
|
||||
insert into t1 values ('I'),('K'),('Y');
|
||||
select * from t1 where s1 < 'K' and s1 = 'Y';
|
||||
s1
|
||||
I
|
||||
Y
|
||||
select * from t1 where 'K' > s1 and s1 = 'Y';
|
||||
s1
|
||||
I
|
||||
Y
|
||||
drop table t1;
|
||||
create table t1 (s1 char(5) character set utf8 collate utf8_czech_ci);
|
||||
insert into t1 values ('c'),('d'),('h'),('ch'),('CH'),('cH'),('Ch'),('i');
|
||||
select * from t1 where s1 > 'd' and s1 = 'CH';
|
||||
s1
|
||||
ch
|
||||
CH
|
||||
Ch
|
||||
select * from t1 where 'd' < s1 and s1 = 'CH';
|
||||
s1
|
||||
ch
|
||||
CH
|
||||
Ch
|
||||
select * from t1 where s1 = 'cH' and s1 <> 'ch';
|
||||
s1
|
||||
cH
|
||||
select * from t1 where 'cH' = s1 and s1 <> 'ch';
|
||||
s1
|
||||
cH
|
||||
drop table t1;
|
||||
create table t1 (a varchar(255)) default character set utf8;
|
||||
insert into t1 values (1.0);
|
||||
drop table t1;
|
||||
|
@ -727,6 +727,24 @@ drop table t1;
|
||||
select repeat(_utf8'+',3) as h union select NULL;
|
||||
select ifnull(NULL, _utf8'string');
|
||||
|
||||
#
|
||||
# Bug#9509 Optimizer: wrong result after AND with comparisons
|
||||
#
|
||||
set names utf8;
|
||||
create table t1 (s1 char(5) character set utf8 collate utf8_lithuanian_ci);
|
||||
insert into t1 values ('I'),('K'),('Y');
|
||||
select * from t1 where s1 < 'K' and s1 = 'Y';
|
||||
select * from t1 where 'K' > s1 and s1 = 'Y';
|
||||
drop table t1;
|
||||
|
||||
create table t1 (s1 char(5) character set utf8 collate utf8_czech_ci);
|
||||
insert into t1 values ('c'),('d'),('h'),('ch'),('CH'),('cH'),('Ch'),('i');
|
||||
select * from t1 where s1 > 'd' and s1 = 'CH';
|
||||
select * from t1 where 'd' < s1 and s1 = 'CH';
|
||||
select * from t1 where s1 = 'cH' and s1 <> 'ch';
|
||||
select * from t1 where 'cH' = s1 and s1 <> 'ch';
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#10714: Inserting double value into utf8 column crashes server
|
||||
#
|
||||
|
@ -4549,6 +4549,8 @@ change_cond_ref_to_const(THD *thd, I_List<COND_CMP> *save_list,
|
||||
left_item->collation.collation == value->collation.collation))
|
||||
{
|
||||
Item *tmp=value->new_item();
|
||||
tmp->collation.set(right_item->collation);
|
||||
|
||||
if (tmp)
|
||||
{
|
||||
thd->change_item_tree(args + 1, tmp);
|
||||
@ -4570,6 +4572,8 @@ change_cond_ref_to_const(THD *thd, I_List<COND_CMP> *save_list,
|
||||
right_item->collation.collation == value->collation.collation))
|
||||
{
|
||||
Item *tmp=value->new_item();
|
||||
tmp->collation.set(left_item->collation);
|
||||
|
||||
if (tmp)
|
||||
{
|
||||
thd->change_item_tree(args, tmp);
|
||||
|
Reference in New Issue
Block a user