mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/MySQL-BUGS/mysql-4.1
This commit is contained in:
commit
614414682f
3 changed files with 39 additions and 2 deletions
|
@ -116,3 +116,21 @@ select collation(a), collation(b), collation(binary 'ccc') from t1 limit 1;
|
||||||
collation(a) collation(b) collation(binary 'ccc')
|
collation(a) collation(b) collation(binary 'ccc')
|
||||||
latin1_bin binary latin1_bin
|
latin1_bin binary latin1_bin
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1( firstname char(20), lastname char(20));
|
||||||
|
insert into t1 values ("john","doe"),("John","Doe");
|
||||||
|
select * from t1 where firstname='john' and firstname like binary 'john';
|
||||||
|
firstname lastname
|
||||||
|
john doe
|
||||||
|
select * from t1 where firstname='john' and binary 'john' = firstname;
|
||||||
|
firstname lastname
|
||||||
|
john doe
|
||||||
|
select * from t1 where firstname='john' and firstname = binary 'john';
|
||||||
|
firstname lastname
|
||||||
|
john doe
|
||||||
|
select * from t1 where firstname='John' and firstname like binary 'john';
|
||||||
|
firstname lastname
|
||||||
|
john doe
|
||||||
|
select * from t1 where firstname='john' and firstname like binary 'John';
|
||||||
|
firstname lastname
|
||||||
|
John Doe
|
||||||
|
drop table t1;
|
||||||
|
|
|
@ -67,3 +67,16 @@ select * from t1 where lower(b)='bbb';
|
||||||
select charset(a), charset(b), charset(binary 'ccc') from t1 limit 1;
|
select charset(a), charset(b), charset(binary 'ccc') from t1 limit 1;
|
||||||
select collation(a), collation(b), collation(binary 'ccc') from t1 limit 1;
|
select collation(a), collation(b), collation(binary 'ccc') from t1 limit 1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug5134: WHERE x = 'bar' AND x LIKE BINARY 'bar' returns wrong results
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1( firstname char(20), lastname char(20));
|
||||||
|
insert into t1 values ("john","doe"),("John","Doe");
|
||||||
|
select * from t1 where firstname='john' and firstname like binary 'john';
|
||||||
|
select * from t1 where firstname='john' and binary 'john' = firstname;
|
||||||
|
select * from t1 where firstname='john' and firstname = binary 'john';
|
||||||
|
select * from t1 where firstname='John' and firstname like binary 'john';
|
||||||
|
select * from t1 where firstname='john' and firstname like binary 'John';
|
||||||
|
drop table t1;
|
||||||
|
|
|
@ -4186,7 +4186,10 @@ change_cond_ref_to_const(I_List<COND_CMP> *save_list,Item *and_father,
|
||||||
Item *right_item= func->arguments()[1];
|
Item *right_item= func->arguments()[1];
|
||||||
Item_func::Functype functype= func->functype();
|
Item_func::Functype functype= func->functype();
|
||||||
|
|
||||||
if (right_item->eq(field,0) && left_item != value)
|
if (right_item->eq(field,0) && left_item != value &&
|
||||||
|
(left_item->result_type() != STRING_RESULT ||
|
||||||
|
value->result_type() != STRING_RESULT ||
|
||||||
|
left_item->collation.collation == value->collation.collation))
|
||||||
{
|
{
|
||||||
Item *tmp=value->new_item();
|
Item *tmp=value->new_item();
|
||||||
if (tmp)
|
if (tmp)
|
||||||
|
@ -4204,7 +4207,10 @@ change_cond_ref_to_const(I_List<COND_CMP> *save_list,Item *and_father,
|
||||||
func->set_cmp_func();
|
func->set_cmp_func();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (left_item->eq(field,0) && right_item != value)
|
else if (left_item->eq(field,0) && right_item != value &&
|
||||||
|
(right_item->result_type() != STRING_RESULT ||
|
||||||
|
value->result_type() != STRING_RESULT ||
|
||||||
|
right_item->collation.collation == value->collation.collation))
|
||||||
{
|
{
|
||||||
Item *tmp=value->new_item();
|
Item *tmp=value->new_item();
|
||||||
if (tmp)
|
if (tmp)
|
||||||
|
|
Loading…
Add table
Reference in a new issue