summaryrefslogtreecommitdiff
path: root/src/test/regress/expected/groupingsets.out
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/expected/groupingsets.out')
-rw-r--r--src/test/regress/expected/groupingsets.out82
1 files changed, 81 insertions, 1 deletions
diff --git a/src/test/regress/expected/groupingsets.out b/src/test/regress/expected/groupingsets.out
index 991121545c5..398cf6965e0 100644
--- a/src/test/regress/expected/groupingsets.out
+++ b/src/test/regress/expected/groupingsets.out
@@ -890,7 +890,8 @@ explain (costs off)
-> Seq Scan on gstest2
(10 rows)
--- test pushdown of HAVING clause that does not reference any columns that are nullable by grouping sets
+-- test pushdown of non-degenerate HAVING clause that does not reference any
+-- columns that are nullable by grouping sets
explain (costs off)
select a, b, count(*) from gstest2 group by grouping sets ((a, b), (a)) having a > 1 and b > 1;
QUERY PLAN
@@ -911,6 +912,85 @@ select a, b, count(*) from gstest2 group by grouping sets ((a, b), (a)) having a
2 | 2 | 1
(1 row)
+explain (costs off)
+select a, b, count(*) from gstest2 group by rollup(a), b having b > 1;
+ QUERY PLAN
+---------------------------------
+ GroupAggregate
+ Group Key: b, a
+ Group Key: b
+ -> Sort
+ Sort Key: b, a
+ -> Seq Scan on gstest2
+ Filter: (b > 1)
+(7 rows)
+
+select a, b, count(*) from gstest2 group by rollup(a), b having b > 1;
+ a | b | count
+---+---+-------
+ 1 | 2 | 1
+ 2 | 2 | 1
+ | 2 | 2
+(3 rows)
+
+-- test pushdown of degenerate HAVING clause
+explain (costs off)
+select count(*) from gstest2 group by grouping sets (()) having false;
+ QUERY PLAN
+-----------------------------------
+ Aggregate
+ Group Key: ()
+ Filter: false
+ -> Result
+ Replaces: Scan on gstest2
+ One-Time Filter: false
+(6 rows)
+
+select count(*) from gstest2 group by grouping sets (()) having false;
+ count
+-------
+(0 rows)
+
+explain (costs off)
+select a, count(*) from gstest2 group by grouping sets ((a), ()) having false;
+ QUERY PLAN
+-----------------------------------------
+ GroupAggregate
+ Group Key: a
+ Group Key: ()
+ Filter: false
+ -> Sort
+ Sort Key: a
+ -> Result
+ Replaces: Scan on gstest2
+ One-Time Filter: false
+(9 rows)
+
+select a, count(*) from gstest2 group by grouping sets ((a), ()) having false;
+ a | count
+---+-------
+(0 rows)
+
+explain (costs off)
+select a, b, count(*) from gstest2 group by grouping sets ((a), (b)) having false;
+ QUERY PLAN
+-----------------------------------------
+ GroupAggregate
+ Group Key: a
+ Sort Key: b
+ Group Key: b
+ -> Sort
+ Sort Key: a
+ -> Result
+ Replaces: Scan on gstest2
+ One-Time Filter: false
+(9 rows)
+
+select a, b, count(*) from gstest2 group by grouping sets ((a), (b)) having false;
+ a | b | count
+---+---+-------
+(0 rows)
+
-- HAVING with GROUPING queries
select ten, grouping(ten) from onek
group by grouping sets(ten) having grouping(ten) >= 0