非互換
GROUP BY句やDISTINCT句を使用したSQLを実行時に、冗長なグループキーを削除します。
Fujitsu Enterprise Postgres 15では、グループキーについて、"pagg_tab1.x, pagg_tab1.y"の両方が出力されます。
postgres=# EXPLAIN (COSTS OFF)
postgres-# SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2;
QUERY PLAN
---------------------------------------
GroupAggregate
Group Key: pagg_tab1.x, pagg_tab1.y
-> Sort
Sort Key: pagg_tab1.y
-> Result
One-Time Filter: false
(6 rows)Fujitsu Enterprise Postgres 16では、グループキーについて、"pagg_tab1.y" の1つのみが出力されます。
postgres=# EXPLAIN (COSTS OFF)
postgres-# SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2;
QUERY PLAN
--------------------------------------
GroupAggregate
Group Key: pagg_tab1.y
-> Sort
Sort Key: pagg_tab1.y
-> Result
One-Time Filter: false
(6 rows)対処方法
ありません。