diff options
author | vva@eagle.mysql.r18.ru <> | 2004-08-13 02:27:21 +0500 |
---|---|---|
committer | vva@eagle.mysql.r18.ru <> | 2004-08-13 02:27:21 +0500 |
commit | 698a88b15d0cac5aa386c0fce7e4e3bad2488012 (patch) | |
tree | ada4b9e131c65979a554f029946110d3623bd552 /mysql-test | |
parent | b1c63b909b599787be525d5eeec9dc2081213d17 (diff) | |
parent | 3681594d08be79d2f6994b418a70673509e5cd3a (diff) | |
download | mariadb-git-698a88b15d0cac5aa386c0fce7e4e3bad2488012.tar.gz |
Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_4358/mysql-4.0
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/having.result | 40 | ||||
-rw-r--r-- | mysql-test/t/having.test | 46 |
2 files changed, 86 insertions, 0 deletions
diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result index d643070f7f9..f0e9172991c 100644 --- a/mysql-test/r/having.result +++ b/mysql-test/r/having.result @@ -78,3 +78,43 @@ sqty 5 9 drop table t1; +CREATE TABLE t1 ( +`id` bigint(20) NOT NULL default '0', +`description` text +) TYPE=MyISAM; +CREATE TABLE t2 ( +`id` bigint(20) NOT NULL default '0', +`description` varchar(20) +) TYPE=MyISAM; +INSERT INTO t1 VALUES (1, 'test'); +INSERT INTO t2 VALUES (1, 'test'); +CREATE TABLE t3 ( +`id` bigint(20) NOT NULL default '0', +`order_id` bigint(20) NOT NULL default '0' +) TYPE=MyISAM; +select +a.id, a.description, +count(b.id) as c +from t1 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); +id description c +1 test 0 +select +a.*, +count(b.id) as c +from t2 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); +id description c +1 test 0 +INSERT INTO t1 VALUES (2, 'test2'); +select +a.id, a.description, +count(b.id) as c +from t1 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); +id description c +1 test 0 +2 test2 0 diff --git a/mysql-test/t/having.test b/mysql-test/t/having.test index cb6fa85ffde..c8835bf1613 100644 --- a/mysql-test/t/having.test +++ b/mysql-test/t/having.test @@ -66,3 +66,49 @@ select id, sum(qty) as sqty from t1 group by id having sqty>2; select sum(qty) as sqty from t1 group by id having count(id) > 0; select sum(qty) as sqty from t1 group by id having count(distinct id) > 0; drop table t1; + +# +# Test case for Bug #4358 Problem with HAVING clause that uses alias from the +# select list and TEXT field +# + +CREATE TABLE t1 ( + `id` bigint(20) NOT NULL default '0', + `description` text +) TYPE=MyISAM; + +CREATE TABLE t2 ( + `id` bigint(20) NOT NULL default '0', + `description` varchar(20) +) TYPE=MyISAM; + +INSERT INTO t1 VALUES (1, 'test'); +INSERT INTO t2 VALUES (1, 'test'); + +CREATE TABLE t3 ( + `id` bigint(20) NOT NULL default '0', + `order_id` bigint(20) NOT NULL default '0' +) TYPE=MyISAM; + +select + a.id, a.description, + count(b.id) as c +from t1 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); + +select + a.*, + count(b.id) as c +from t2 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); + +INSERT INTO t1 VALUES (2, 'test2'); + +select + a.id, a.description, + count(b.id) as c +from t1 a left join t3 b on a.id=b.order_id +group by a.id, a.description +having (a.description is not null) and (c=0); |