mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
5ef6e903a4
Multiple equalities were not adjusted after reading constant tables. It resulted in neglecting good index based methods that could be used to access of other tables. mysql-test/r/having.result: Adjusted a test case results after fix for bug #16504. mysql-test/r/select.result: Added a test case for bug #16504. mysql-test/r/subselect.result: Adjusted a test case results after fix for bug #16504. mysql-test/r/varbinary.result: Adjusted a test case results after fix for bug #16504. mysql-test/t/select.test: Added a test case for bug #16504. sql/item.cc: Fixed bug #16504. An Item_equal object may contain only a constant member. It may happen after reading constant tables. sql/item_cmpfunc.cc: Fixed bug #16504. Added method Item_equal::check_const that check appearance of new constant items in a multiple equality. sql/item_cmpfunc.h: Fixed bug #16504. Added method Item_equal::check_const that check appearance of new constant items in a multiple equality. sql/sql_select.cc: Fixed bug #16504. Adjusted multiple equalities after reading constant tables. Fixed a few typo in comments.
28 lines
1.1 KiB
Text
28 lines
1.1 KiB
Text
drop table if exists t1;
|
|
select 0x41,0x41+0,0x41 | 0x7fffffffffffffff | 0,0xffffffffffffffff | 0 ;
|
|
0x41 0x41+0 0x41 | 0x7fffffffffffffff | 0 0xffffffffffffffff | 0
|
|
A 65 9223372036854775807 18446744073709551615
|
|
select 0x31+1,concat(0x31)+1,-0xf;
|
|
0x31+1 concat(0x31)+1 -0xf
|
|
50 2 -15
|
|
select x'31',X'ffff'+0;
|
|
x'31' X'ffff'+0
|
|
1 65535
|
|
create table t1 (ID int(8) unsigned zerofill not null auto_increment,UNIQ bigint(21) unsigned zerofill not null,primary key (ID),unique (UNIQ) );
|
|
insert into t1 set UNIQ=0x38afba1d73e6a18a;
|
|
insert into t1 set UNIQ=123;
|
|
explain extended select * from t1 where UNIQ=0x38afba1d73e6a18a;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 const UNIQ UNIQ 8 const 1
|
|
Warnings:
|
|
Note 1003 select `test`.`t1`.`ID` AS `ID`,`test`.`t1`.`UNIQ` AS `UNIQ` from `test`.`t1` where 1
|
|
drop table t1;
|
|
select x'hello';
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'x'hello'' at line 1
|
|
select 0xfg;
|
|
ERROR 42S22: Unknown column '0xfg' in 'field list'
|
|
create table t1 select 1 as x, 2 as xx;
|
|
select x,xx from t1;
|
|
x xx
|
|
1 2
|
|
drop table t1;
|