57 lines
1.5 KiB
Plaintext
57 lines
1.5 KiB
Plaintext
--disable_query_log
|
|
set @@session.explicit_defaults_for_timestamp=off;
|
|
--enable_query_log
|
|
# Initialise
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
#
|
|
##
|
|
## Testing of the <=> operator
|
|
##
|
|
#
|
|
##
|
|
## First some simple tests
|
|
##
|
|
#
|
|
select 0<=>0,0.0<=>0.0,0E0=0E0,'A'<=>'A',NULL<=>NULL;
|
|
select 1<=>0,0<=>NULL,NULL<=>0;
|
|
select 1.0<=>0.0,0.0<=>NULL,NULL<=>0.0;
|
|
select 'A'<=>'B','A'<=>NULL,NULL<=>'A';
|
|
select 0<=>0.0, 0.0<=>0E0, 0E0<=>'0', 10.0<=>1E1, 10<=>10.0, 10<=>1E1;
|
|
select 1.0<=>0E1,10<=>NULL,NULL<=>0.0, NULL<=>0E0;
|
|
#
|
|
##
|
|
## Test with tables
|
|
##
|
|
#
|
|
create table t1 (id int primary key, value int);
|
|
create table t2 (id int primary key, value int);
|
|
#
|
|
insert into t1 values (1,null);
|
|
insert into t2 values (1,null);
|
|
#
|
|
select t1.*, t2.*, t1.value=t2.value from t1, t2 where t1.id=t2.id and t1.id=1;
|
|
select * from t1 where id =id;
|
|
select * from t1 where value = value;
|
|
select * from t1 where id = value or value=id;
|
|
select * from t1 where value = null;
|
|
select * from t1 where (value) = (null);
|
|
--error 1064
|
|
select * from t1 where ROW(value) = ROW(null);
|
|
select * from t1 where (id, value) = (1, null);
|
|
drop table t1,t2;
|
|
#
|
|
##
|
|
## Bug #12612: quoted bigint unsigned value and the use of 'in' in where clause
|
|
##
|
|
create table t1 (a bigint primary key);
|
|
insert into t1 values (4828532208463511553);
|
|
select * from t1 where a = '4828532208463511553';
|
|
select * from t1 where a = 4828532208463511553;
|
|
select * from t1 where a in ('4828532208463511553');
|
|
select * from t1 where a in (4828532208463511553,1);
|
|
drop table t1;
|
|
#
|
|
## End of 4.1 tests
|