diff options
author | unknown <monty@hundin.mysql.fi> | 2002-12-03 13:08:25 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-12-03 13:08:25 +0200 |
commit | 80b143c111fc3df20e3fe2dcfe4880c30b001498 (patch) | |
tree | 4cad7c11d248679cf59fce6e92c37d2d7dc6e486 /mysql-test/t | |
parent | 4f221e351df6c05fdeb95d0b328cf155204195cd (diff) | |
download | mariadb-git-80b143c111fc3df20e3fe2dcfe4880c30b001498.tar.gz |
Change of internal key_field=NULL handling to avoid error messages.
Optimized SELECT DISTINCT ... ORDER BY ... LIMIT
Fixed reference to uninitalized variable
mysql-test/r/distinct.result:
Updated results for new tests
mysql-test/r/func_math.result:
Fixed test of RND()
mysql-test/r/innodb.result:
Updated results for new tests
mysql-test/r/null.result:
Updated results for new tests
mysql-test/t/distinct.test:
New distinct test
mysql-test/t/func_math.test:
Fixed test of RND()
mysql-test/t/innodb.test:
Test for bugs
mysql-test/t/null.test:
TEst for bugs
sql/field.h:
Change of NULL handling to avoid error messages
sql/field_conv.cc:
Change of NULL handling to avoid error messages
sql/item.cc:
Change of NULL handling to avoid error messages
sql/item.h:
Change of NULL handling to avoid error messages
sql/item_cmpfunc.cc:
Change of NULL handling to avoid error messages
sql/item_func.cc:
Change of NULL handling to avoid error messages
sql/item_func.h:
Cleaned up RND() handling
sql/item_timefunc.cc:
Change of NULL handling to avoid error messages
sql/item_timefunc.h:
Change of NULL handling to avoid error messages
sql/opt_range.cc:
Fixed bug in <=> NULL
sql/password.c:
Indentation cleanup
sql/sql_base.cc:
Change of NULL handling to avoid error messages
sql/sql_class.cc:
Fixed reference to uninitalized variable
sql/sql_handler.cc:
Change of NULL handling to avoid error messages
sql/sql_select.cc:
Change of NULL handling to avoid error messages
Optimized SELECT DISTINCT ... ORDER BY ... LIMIT
sql/sql_select.h:
Change of NULL handling to avoid error messages
sql/unireg.cc:
Change of NULL handling to avoid error messages
Diffstat (limited to 'mysql-test/t')
-rw-r--r-- | mysql-test/t/distinct.test | 10 | ||||
-rw-r--r-- | mysql-test/t/func_math.test | 1 | ||||
-rw-r--r-- | mysql-test/t/innodb.test | 23 | ||||
-rw-r--r-- | mysql-test/t/null.test | 14 |
4 files changed, 48 insertions, 0 deletions
diff --git a/mysql-test/t/distinct.test b/mysql-test/t/distinct.test index aaffea3c5a5..7f75b6b1687 100644 --- a/mysql-test/t/distinct.test +++ b/mysql-test/t/distinct.test @@ -88,6 +88,16 @@ select distinct t1.a from t1,t3 where t1.a=t3.a; #flush status; select distinct 1 from t1,t3 where t1.a=t3.a; #show status like 'Handler%'; + +explain SELECT distinct t1.a from t1; +explain SELECT distinct t1.a from t1 order by a desc; +explain SELECT t1.a from t1 group by a order by a desc; +explain SELECT distinct t1.a from t1 order by a desc limit 1; +explain SELECT distinct a from t3 order by a desc limit 2; +explain SELECT distinct a,b from t3 order by a+1; +explain SELECT distinct a,b from t3 order by a limit 10; +explain SELECT a,b from t3 group by a,b order by a+1; + drop table t1,t2,t3,t4; CREATE TABLE t1 (name varchar(255)); diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test index 74e8a5ce092..bd125dafd53 100644 --- a/mysql-test/t/func_math.test +++ b/mysql-test/t/func_math.test @@ -13,6 +13,7 @@ select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL); select log2(8),log2(15),log2(-2),log2(0),log2(NULL); select log10(100),log10(18),log10(-4),log10(0),log10(NULL); select pow(10,log10(10)),power(2,4); +set @@rand_seed1=10000000,@@rand_seed2=1000000; select rand(999999),rand(); select pi(),sin(pi()/2),cos(pi()/2),abs(tan(pi())),cot(1),asin(1),acos(0),atan(1); select degrees(pi()),radians(360); diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 8edde83507a..eb5b0c9efd2 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -673,3 +673,26 @@ UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n; select * from t1; select * from t2; drop table t1,t2; + +# +# Testing of IFNULL +# +create table t1 (a int, b int) type=innodb; +insert into t1 values(20,null); +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a; +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a order by 1; +insert into t1 values(10,null); +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a order by 1; +drop table t1; + +# +# Test of read_through not existing const_table +# + +create table t1 (a varchar(10) not null) type=myisam; +create table t2 (b varchar(10) not null unique) type=innodb; +select t1.a from t1,t2 where t1.a=t2.b; +drop table t1,t2; diff --git a/mysql-test/t/null.test b/mysql-test/t/null.test index 8bd9e806118..ad32e0be6ff 100644 --- a/mysql-test/t/null.test +++ b/mysql-test/t/null.test @@ -34,3 +34,17 @@ SELECT * FROM t1 WHERE indexed_field=NULL; SELECT * FROM t1 WHERE indexed_field IS NULL; SELECT * FROM t1 WHERE indexed_field<=>NULL; DROP TABLE t1; + +# +# Testing of IFNULL +# +create table t1 (a int, b int) type=myisam; +insert into t1 values(20,null); +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a; +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a order by 1; +insert into t1 values(10,null); +select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on +t2.b=t3.a order by 1; +drop table t1; |