Handles EXPLAIN output diffs in PG15: HashAgg Leverage,alt. output

multi_select_distinct.sql

Still not sure of the relevant PG commit
Could be db0d67db2401eb6238ccc04c6407a4fd4f985832
but disabling enable_group_by_reordering didn't help.
naisila/failure_pg15
naisila 2022-08-19 18:09:46 +03:00
parent d37eb176db
commit 0825435787
3 changed files with 1610 additions and 20 deletions

View File

@ -3,6 +3,9 @@
--
-- Tests select distinct, and select distinct on features.
--
-- This test file has an alternative output because some HashAggregate
-- leverages in PG15 compared to PG13/PG14
--
ANALYZE lineitem_hash_part;
-- function calls are supported
SELECT DISTINCT l_orderkey, now() FROM lineitem_hash_part LIMIT 0;
@ -764,13 +767,14 @@ EXPLAIN (COSTS FALSE)
-> Task
Node: host=localhost port=xxxxx dbname=regression
-> Limit
-> Unique
-> Group
-> Sort
Sort Key: l_orderkey, l_partkey
-> HashAggregate
Group Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> Sort
Sort Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> HashAggregate
Group Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(17 rows)
(18 rows)
-- check the plan if the hash aggreate is disabled. We expect to see only one
-- aggregation node since group by columns guarantees the uniqueness.
@ -793,13 +797,14 @@ EXPLAIN (COSTS FALSE)
-> Task
Node: host=localhost port=xxxxx dbname=regression
-> Limit
-> Unique
-> Group
-> Sort
Sort Key: l_orderkey, l_partkey
-> HashAggregate
Group Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> Sort
Sort Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> HashAggregate
Group Key: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(16 rows)
(17 rows)
SET enable_hashagg TO on;
-- distinct on count distinct
@ -972,12 +977,10 @@ EXPLAIN (COSTS FALSE)
Tasks Shown: One of 4
-> Task
Node: host=localhost port=xxxxx dbname=regression
-> GroupAggregate
-> HashAggregate
Group Key: l_orderkey
-> Sort
Sort Key: l_orderkey
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(15 rows)
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(13 rows)
-- check the plan if the hash aggreate is disabled.
SET enable_hashagg TO off;
@ -998,12 +1001,10 @@ EXPLAIN (COSTS FALSE)
Tasks Shown: One of 4
-> Task
Node: host=localhost port=xxxxx dbname=regression
-> GroupAggregate
-> HashAggregate
Group Key: l_orderkey
-> Sort
Sort Key: l_orderkey
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(14 rows)
-> Seq Scan on lineitem_hash_part_360041 lineitem_hash_part
(12 rows)
SET enable_hashagg TO on;
-- distinct on non-partition column with aggregate

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,9 @@
--
-- Tests select distinct, and select distinct on features.
--
-- This test file has an alternative output because some HashAggregate
-- leverages in PG15 compared to PG13/PG14
--
ANALYZE lineitem_hash_part;