Rename index "abc" in aggregates.sql

In order to prevent name collision with table "abc" in namespace.sql.

Reported-by: Nathan Bossart
Discussion: https://postgr.es/m/20240124173735.GA2708416%40nathanxps13
This commit is contained in:
Alexander Korotkov 2024-01-24 21:41:17 +02:00
parent 46a0cd4cef
commit b91f918708
2 changed files with 29 additions and 29 deletions

View File

@ -2735,7 +2735,7 @@ CREATE TABLE btg AS SELECT
'abc' || i % 10 AS z, 'abc' || i % 10 AS z,
i AS w i AS w
FROM generate_series(1,10000) AS i; FROM generate_series(1,10000) AS i;
CREATE INDEX abc ON btg(x,y); CREATE INDEX btg_x_y_idx ON btg(x,y);
ANALYZE btg; ANALYZE btg;
-- GROUP BY optimization by reorder columns by frequency -- GROUP BY optimization by reorder columns by frequency
SET enable_hashagg=off; SET enable_hashagg=off;
@ -2743,92 +2743,92 @@ SET max_parallel_workers= 0;
SET max_parallel_workers_per_gather = 0; SET max_parallel_workers_per_gather = 0;
-- Utilize index scan ordering to avoid a Sort operation -- Utilize index scan ordering to avoid a Sort operation
EXPLAIN (COSTS OFF) SELECT count(*) FROM btg GROUP BY x,y; EXPLAIN (COSTS OFF) SELECT count(*) FROM btg GROUP BY x,y;
QUERY PLAN QUERY PLAN
---------------------------------------- ------------------------------------------------
GroupAggregate GroupAggregate
Group Key: x, y Group Key: x, y
-> Index Only Scan using abc on btg -> Index Only Scan using btg_x_y_idx on btg
(3 rows) (3 rows)
EXPLAIN (COSTS OFF) SELECT count(*) FROM btg GROUP BY y,x; EXPLAIN (COSTS OFF) SELECT count(*) FROM btg GROUP BY y,x;
QUERY PLAN QUERY PLAN
---------------------------------------- ------------------------------------------------
GroupAggregate GroupAggregate
Group Key: x, y Group Key: x, y
-> Index Only Scan using abc on btg -> Index Only Scan using btg_x_y_idx on btg
(3 rows) (3 rows)
-- Engage incremental sort -- Engage incremental sort
explain (COSTS OFF) SELECT x,y FROM btg GROUP BY x,y,z,w; explain (COSTS OFF) SELECT x,y FROM btg GROUP BY x,y,z,w;
QUERY PLAN QUERY PLAN
----------------------------------------- -------------------------------------------------
Group Group
Group Key: x, y, z, w Group Key: x, y, z, w
-> Incremental Sort -> Incremental Sort
Sort Key: x, y, z, w Sort Key: x, y, z, w
Presorted Key: x, y Presorted Key: x, y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(6 rows) (6 rows)
explain (COSTS OFF) SELECT x,y FROM btg GROUP BY z,y,w,x; explain (COSTS OFF) SELECT x,y FROM btg GROUP BY z,y,w,x;
QUERY PLAN QUERY PLAN
----------------------------------------- -------------------------------------------------
Group Group
Group Key: x, y, z, w Group Key: x, y, z, w
-> Incremental Sort -> Incremental Sort
Sort Key: x, y, z, w Sort Key: x, y, z, w
Presorted Key: x, y Presorted Key: x, y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(6 rows) (6 rows)
explain (COSTS OFF) SELECT x,y FROM btg GROUP BY w,z,x,y; explain (COSTS OFF) SELECT x,y FROM btg GROUP BY w,z,x,y;
QUERY PLAN QUERY PLAN
----------------------------------------- -------------------------------------------------
Group Group
Group Key: x, y, w, z Group Key: x, y, w, z
-> Incremental Sort -> Incremental Sort
Sort Key: x, y, w, z Sort Key: x, y, w, z
Presorted Key: x, y Presorted Key: x, y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(6 rows) (6 rows)
explain (COSTS OFF) SELECT x,y FROM btg GROUP BY w,x,z,y; explain (COSTS OFF) SELECT x,y FROM btg GROUP BY w,x,z,y;
QUERY PLAN QUERY PLAN
----------------------------------------- -------------------------------------------------
Group Group
Group Key: x, y, w, z Group Key: x, y, w, z
-> Incremental Sort -> Incremental Sort
Sort Key: x, y, w, z Sort Key: x, y, w, z
Presorted Key: x, y Presorted Key: x, y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(6 rows) (6 rows)
-- Subqueries -- Subqueries
explain (COSTS OFF) SELECT x,y explain (COSTS OFF) SELECT x,y
FROM (SELECT * FROM btg ORDER BY x,y,w,z) AS q1 FROM (SELECT * FROM btg ORDER BY x,y,w,z) AS q1
GROUP BY (w,x,z,y); GROUP BY (w,x,z,y);
QUERY PLAN QUERY PLAN
---------------------------------------------- -------------------------------------------------
Group Group
Group Key: btg.x, btg.y, btg.w, btg.z Group Key: btg.x, btg.y, btg.w, btg.z
-> Incremental Sort -> Incremental Sort
Sort Key: btg.x, btg.y, btg.w, btg.z Sort Key: btg.x, btg.y, btg.w, btg.z
Presorted Key: btg.x, btg.y Presorted Key: btg.x, btg.y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(6 rows) (6 rows)
explain (COSTS OFF) SELECT x,y explain (COSTS OFF) SELECT x,y
FROM (SELECT * FROM btg ORDER BY x,y,w,z LIMIT 100) AS q1 FROM (SELECT * FROM btg ORDER BY x,y,w,z LIMIT 100) AS q1
GROUP BY (w,x,z,y); GROUP BY (w,x,z,y);
QUERY PLAN QUERY PLAN
---------------------------------------------------- -------------------------------------------------------
Group Group
Group Key: btg.x, btg.y, btg.w, btg.z Group Key: btg.x, btg.y, btg.w, btg.z
-> Limit -> Limit
-> Incremental Sort -> Incremental Sort
Sort Key: btg.x, btg.y, btg.w, btg.z Sort Key: btg.x, btg.y, btg.w, btg.z
Presorted Key: btg.x, btg.y Presorted Key: btg.x, btg.y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(7 rows) (7 rows)
-- Should work with and without GROUP-BY optimization -- Should work with and without GROUP-BY optimization
@ -2844,8 +2844,8 @@ explain (COSTS OFF) SELECT x,y FROM btg GROUP BY w,x,z,y ORDER BY y,x,z,w;
-- Utilize incremental sort to make the ORDER BY rule a bit cheaper -- Utilize incremental sort to make the ORDER BY rule a bit cheaper
explain (COSTS OFF) SELECT x,w FROM btg GROUP BY w,x,y,z ORDER BY x*x,z; explain (COSTS OFF) SELECT x,w FROM btg GROUP BY w,x,y,z ORDER BY x*x,z;
QUERY PLAN QUERY PLAN
----------------------------------------------- -------------------------------------------------------
Sort Sort
Sort Key: ((x * x)), z Sort Key: ((x * x)), z
-> Group -> Group
@ -2853,7 +2853,7 @@ explain (COSTS OFF) SELECT x,w FROM btg GROUP BY w,x,y,z ORDER BY x*x,z;
-> Incremental Sort -> Incremental Sort
Sort Key: x, y, w, z Sort Key: x, y, w, z
Presorted Key: x, y Presorted Key: x, y
-> Index Scan using abc on btg -> Index Scan using btg_x_y_idx on btg
(8 rows) (8 rows)
SET enable_incremental_sort = off; SET enable_incremental_sort = off;

View File

@ -1188,7 +1188,7 @@ CREATE TABLE btg AS SELECT
'abc' || i % 10 AS z, 'abc' || i % 10 AS z,
i AS w i AS w
FROM generate_series(1,10000) AS i; FROM generate_series(1,10000) AS i;
CREATE INDEX abc ON btg(x,y); CREATE INDEX btg_x_y_idx ON btg(x,y);
ANALYZE btg; ANALYZE btg;
-- GROUP BY optimization by reorder columns by frequency -- GROUP BY optimization by reorder columns by frequency