diff options
author | unknown <holyfoot/hf@hfmain.(none)> | 2007-05-01 13:38:59 +0500 |
---|---|---|
committer | unknown <holyfoot/hf@hfmain.(none)> | 2007-05-01 13:38:59 +0500 |
commit | 0e20de498a5194cb719ff5234ba49c087bfb14d0 (patch) | |
tree | 0fdd0a4d93bddf62abf4ec4e5202fa8d1df57cb2 /mysql-test | |
parent | 9be5c10fca989ff9d8efdd2cc12b57c62dcaefb6 (diff) | |
parent | 5352b41d29bf3a0ca37d64acfa61527a4944812d (diff) | |
download | mariadb-git-0e20de498a5194cb719ff5234ba49c087bfb14d0.tar.gz |
Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
mysql-test/r/olap.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_select.cc:
Auto merged
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/olap.result | 61 | ||||
-rw-r--r-- | mysql-test/r/type_datetime.result | 16 | ||||
-rw-r--r-- | mysql-test/t/olap.test | 22 | ||||
-rw-r--r-- | mysql-test/t/type_datetime.test | 4 |
4 files changed, 88 insertions, 15 deletions
diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result index 66499946b63..f5544b4d115 100644 --- a/mysql-test/r/olap.result +++ b/mysql-test/r/olap.result @@ -607,6 +607,67 @@ x a sum(b) 2006-07-01 NULL 11 NULL NULL 11 drop table t1; +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 +VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10); +SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +a SUM(b) +1 30 +2 90 +3 30 +NULL 150 +SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +a SUM(b) +1 30 +2 90 +3 30 +NULL 150 +SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +a b COUNT(*) +1 10 1 +1 20 1 +1 NULL 2 +2 10 2 +2 30 1 +2 40 1 +2 NULL 4 +3 30 1 +3 NULL 1 +NULL NULL 7 +SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +a b COUNT(*) +1 10 1 +1 20 1 +1 NULL 2 +2 10 2 +2 30 1 +2 40 1 +2 NULL 4 +3 30 1 +3 NULL 1 +NULL NULL 7 +SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +DROP TABLE t1; CREATE TABLE t1(id int, type char(1)); INSERT INTO t1 VALUES (1,"A"),(2,"C"),(3,"A"),(4,"A"),(5,"B"), diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index 95bd3061fa6..d90bf1779c1 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -221,15 +221,13 @@ f1 f2 select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); 1 1 -select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), -f1 > f2, f1 = f2, f1 < f2 -from t1; -f1 f2 UNIX_TIMESTAMP(f2) UNIX_TIMESTAMP(f1) f1 > f2 f1 = f2 f1 < f2 -2001-01-01 2001-01-01 01:01:01 978300061 978296400 0 0 1 -2001-02-05 2001-02-05 00:00:00 981320400 981320400 0 1 0 -2001-03-10 2001-03-09 01:01:01 984088861 984171600 1 0 0 -2001-04-15 2001-04-15 00:00:00 987282000 987282000 0 1 0 -2001-05-20 2001-05-20 01:01:01 990309661 990306000 0 0 1 +select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1; +f1 f2 f1 > f2 f1 = f2 f1 < f2 +2001-01-01 2001-01-01 01:01:01 0 0 1 +2001-02-05 2001-02-05 00:00:00 0 1 0 +2001-03-10 2001-03-09 01:01:01 1 0 0 +2001-04-15 2001-04-15 00:00:00 0 1 0 +2001-05-20 2001-05-20 01:01:01 0 0 1 drop table t1; create table t1 (f1 date, f2 datetime, f3 timestamp); insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test index e6cbfe3166c..05934bff492 100644 --- a/mysql-test/t/olap.test +++ b/mysql-test/t/olap.test @@ -292,6 +292,25 @@ select left(a,10), a, sum(b) from t1 group by 1,2 with rollup; select left(a,10) x, a, sum(b) from t1 group by x,a with rollup; drop table t1; +# +# Bug #24856: ROLLUP by const item in a query with DISTINCT +# + +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 + VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10); + +SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; + +SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; + +DROP TABLE t1; + # End of 4.1 tests # @@ -339,6 +358,3 @@ SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) as t; DROP TABLE t1; - - - diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index eeed14acf15..cdf0e1464dc 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -157,9 +157,7 @@ select f1, f3 from t1 where f1 >= '2001-02-05 00:00:00' and f3 <= '2001-04-15'; select f1, f3 from t1 where f1 >= '2001-2-5 0:0:0' and f2 <= '2001-4-15'; select f1, f2 from t1 where if(1, f1, 0) >= f2; select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); -select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), - f1 > f2, f1 = f2, f1 < f2 - from t1; +select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1; drop table t1; # |