Loading mysql-test/r/func_concat.result +7 −0 Original line number Diff line number Diff line Loading @@ -64,3 +64,10 @@ select 'a' union select concat('a', -0.0); a a good select concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) from (select 1 union select 2 ) as t3; concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) ab ab mysql-test/r/func_group.result +24 −0 Original line number Diff line number Diff line Loading @@ -916,3 +916,27 @@ select count(*), min(7), max(7) from t2m, t1i; count(*) min(7) max(7) 0 NULL NULL drop table t1m, t1i, t2m, t2i; CREATE TABLE t1 (id int PRIMARY KEY, b char(3), INDEX(b)); INSERT INTO t1 VALUES (1,'xx'), (2,'aa'); SELECT * FROM t1; id b 1 xx 2 aa SELECT MAX(b) FROM t1 WHERE b < 'ppppp'; MAX(b) aa SHOW WARNINGS; Level Code Message SELECT MAX(b) FROM t1 WHERE b < 'pp'; MAX(b) aa DROP TABLE t1; CREATE TABLE t1 (id int PRIMARY KEY, b char(16), INDEX(b(4))); INSERT INTO t1 VALUES (1, 'xxxxbbbb'), (2, 'xxxxaaaa'); SELECT MAX(b) FROM t1; MAX(b) xxxxbbbb EXPLAIN SELECT MAX(b) FROM t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 DROP TABLE t1; mysql-test/r/func_in.result +21 −0 Original line number Diff line number Diff line Loading @@ -202,3 +202,24 @@ select count(*) from t1 where id not in (1,2); count(*) 1 drop table t1; create table t1 (f1 char(1), f2 int); insert into t1 values (1,0),('a',1),('z',2); select f1 from t1 where f1 in (1,'z'); f1 1 z select f2 from t1 where f2 in (1,'z'); f2 0 1 select f1 from t1 where 'z' in (1,f1); f1 z select * from t1 where 'z' in (f2,f1); f1 f2 z 2 select * from t1 where 1 in (f2,f1); f1 f2 1 0 a 1 drop table t1; mysql-test/r/func_str.result +15 −0 Original line number Diff line number Diff line Loading @@ -1006,4 +1006,19 @@ NULL select ifnull(load_file("lkjlkj"),"it's null"); ifnull(load_file("lkjlkj"),"it's null") it's null create table t1 (f1 varchar(4), f2 varchar(64), unique key k1 (f1,f2)); insert into t1 values ( 'test',md5('test')), ('test', sha('test')); select * from t1 where f1='test' and (f2= md5("test") or f2= md5("TEST")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= md5("TEST") or f2= md5("test")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= sha("test") or f2= sha("TEST")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 select * from t1 where f1='test' and (f2= sha("TEST") or f2= sha("test")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 drop table t1; End of 4.1 tests mysql-test/r/func_time.result +41 −0 Original line number Diff line number Diff line Loading @@ -630,6 +630,47 @@ select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')), monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m')); monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m')) NULL NULL January NULL create table t1(f1 date, f2 time, f3 datetime); insert into t1 values ("2006-01-01", "12:01:01", "2006-01-01 12:01:01"); insert into t1 values ("2006-01-02", "12:01:02", "2006-01-02 12:01:02"); select f1 from t1 where f1 between "2006-1-1" and 20060101; f1 2006-01-01 select f1 from t1 where f1 between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f1 from t1 where date(f1) between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f2 from t1 where f2 between "12:1:2" and "12:2:2"; f2 12:01:02 select f2 from t1 where time(f2) between "12:1:2" and "12:2:2"; f2 12:01:02 select f3 from t1 where f3 between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f3 from t1 where timestamp(f3) between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f1 from t1 where "2006-1-1" between f1 and f3; f1 2006-01-01 select f1 from t1 where "2006-1-1" between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where "2006-1-1" between f1 and 'zzz'; f1 Warnings: Warning 1292 Truncated incorrect date value: 'zzz' select f1 from t1 where makedate(2006,1) between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where makedate(2006,2) between date(f1) and date(f3); f1 2006-01-02 drop table t1; select now() - now() + 0, curtime() - curtime() + 0, sec_to_time(1) + 0, from_unixtime(1) + 0; now() - now() + 0 curtime() - curtime() + 0 sec_to_time(1) + 0 from_unixtime(1) + 0 Loading Loading
mysql-test/r/func_concat.result +7 −0 Original line number Diff line number Diff line Loading @@ -64,3 +64,10 @@ select 'a' union select concat('a', -0.0); a a good select concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) from (select 1 union select 2 ) as t3; concat((select x from (select 'a' as x) as t1 ), (select y from (select 'b' as y) as t2 )) ab ab
mysql-test/r/func_group.result +24 −0 Original line number Diff line number Diff line Loading @@ -916,3 +916,27 @@ select count(*), min(7), max(7) from t2m, t1i; count(*) min(7) max(7) 0 NULL NULL drop table t1m, t1i, t2m, t2i; CREATE TABLE t1 (id int PRIMARY KEY, b char(3), INDEX(b)); INSERT INTO t1 VALUES (1,'xx'), (2,'aa'); SELECT * FROM t1; id b 1 xx 2 aa SELECT MAX(b) FROM t1 WHERE b < 'ppppp'; MAX(b) aa SHOW WARNINGS; Level Code Message SELECT MAX(b) FROM t1 WHERE b < 'pp'; MAX(b) aa DROP TABLE t1; CREATE TABLE t1 (id int PRIMARY KEY, b char(16), INDEX(b(4))); INSERT INTO t1 VALUES (1, 'xxxxbbbb'), (2, 'xxxxaaaa'); SELECT MAX(b) FROM t1; MAX(b) xxxxbbbb EXPLAIN SELECT MAX(b) FROM t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 DROP TABLE t1;
mysql-test/r/func_in.result +21 −0 Original line number Diff line number Diff line Loading @@ -202,3 +202,24 @@ select count(*) from t1 where id not in (1,2); count(*) 1 drop table t1; create table t1 (f1 char(1), f2 int); insert into t1 values (1,0),('a',1),('z',2); select f1 from t1 where f1 in (1,'z'); f1 1 z select f2 from t1 where f2 in (1,'z'); f2 0 1 select f1 from t1 where 'z' in (1,f1); f1 z select * from t1 where 'z' in (f2,f1); f1 f2 z 2 select * from t1 where 1 in (f2,f1); f1 f2 1 0 a 1 drop table t1;
mysql-test/r/func_str.result +15 −0 Original line number Diff line number Diff line Loading @@ -1006,4 +1006,19 @@ NULL select ifnull(load_file("lkjlkj"),"it's null"); ifnull(load_file("lkjlkj"),"it's null") it's null create table t1 (f1 varchar(4), f2 varchar(64), unique key k1 (f1,f2)); insert into t1 values ( 'test',md5('test')), ('test', sha('test')); select * from t1 where f1='test' and (f2= md5("test") or f2= md5("TEST")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= md5("TEST") or f2= md5("test")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= sha("test") or f2= sha("TEST")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 select * from t1 where f1='test' and (f2= sha("TEST") or f2= sha("test")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 drop table t1; End of 4.1 tests
mysql-test/r/func_time.result +41 −0 Original line number Diff line number Diff line Loading @@ -630,6 +630,47 @@ select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')), monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m')); monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m')) NULL NULL January NULL create table t1(f1 date, f2 time, f3 datetime); insert into t1 values ("2006-01-01", "12:01:01", "2006-01-01 12:01:01"); insert into t1 values ("2006-01-02", "12:01:02", "2006-01-02 12:01:02"); select f1 from t1 where f1 between "2006-1-1" and 20060101; f1 2006-01-01 select f1 from t1 where f1 between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f1 from t1 where date(f1) between "2006-1-1" and "2006.1.1"; f1 2006-01-01 select f2 from t1 where f2 between "12:1:2" and "12:2:2"; f2 12:01:02 select f2 from t1 where time(f2) between "12:1:2" and "12:2:2"; f2 12:01:02 select f3 from t1 where f3 between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f3 from t1 where timestamp(f3) between "2006-1-1 12:1:1" and "2006-1-1 12:1:2"; f3 2006-01-01 12:01:01 select f1 from t1 where "2006-1-1" between f1 and f3; f1 2006-01-01 select f1 from t1 where "2006-1-1" between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where "2006-1-1" between f1 and 'zzz'; f1 Warnings: Warning 1292 Truncated incorrect date value: 'zzz' select f1 from t1 where makedate(2006,1) between date(f1) and date(f3); f1 2006-01-01 select f1 from t1 where makedate(2006,2) between date(f1) and date(f3); f1 2006-01-02 drop table t1; select now() - now() + 0, curtime() - curtime() + 0, sec_to_time(1) + 0, from_unixtime(1) + 0; now() - now() + 0 curtime() - curtime() + 0 sec_to_time(1) + 0 from_unixtime(1) + 0 Loading