diff options
| author | Álvaro Herrera | 2025-03-27 12:33:37 +0000 |
|---|---|---|
| committer | Álvaro Herrera | 2025-03-27 12:33:37 +0000 |
| commit | 9fbd53dea5d513a78ca04834101ca1aa73b63e59 (patch) | |
| tree | 6d7bedd62113958f907c20e6cabd8649c740947d /contrib | |
| parent | 5d5f415816a60a3c5c5e4420eff55e73edfbd9f5 (diff) | |
Remove the query_id_squash_values GUC
Commit 62d712ecfd94 introduced the capability to calculate the same
queryId for queries with different lengths of constants in a list for an
IN clause. This behavior was originally enabled with a GUC
query_id_squash_values. After a discussion about the value of such a
GUC, it was decided to back out of the use of a GUC and make the
squashing behavior the only available option.
Author: Sami Imseih <samimseih@gmail.com>
Discussion: https://postgr.es/m/Z-LZyygkkNyA8-kR@msg.df7cb.de
Discussion: https://postgr.es/m/CA+q6zcVTK-3C-8NWV1oY2NZrvtnMCDqnyYYyk1T7WMUG65MeOQ@mail.gmail.com
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/pg_stat_statements/expected/dml.out | 2 | ||||
| -rw-r--r-- | contrib/pg_stat_statements/expected/squashing.out | 33 | ||||
| -rw-r--r-- | contrib/pg_stat_statements/sql/squashing.sql | 10 |
3 files changed, 1 insertions, 44 deletions
diff --git a/contrib/pg_stat_statements/expected/dml.out b/contrib/pg_stat_statements/expected/dml.out index acc2c5e5241..347cb8699e4 100644 --- a/contrib/pg_stat_statements/expected/dml.out +++ b/contrib/pg_stat_statements/expected/dml.out @@ -80,7 +80,7 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"; 1 | 10 | INSERT INTO pgss_dml_tab VALUES(generate_series($1, $2), $3) 1 | 12 | SELECT * FROM pgss_dml_tab ORDER BY a 2 | 4 | SELECT * FROM pgss_dml_tab WHERE a > $1 ORDER BY a - 1 | 8 | SELECT * FROM pgss_dml_tab WHERE a IN ($1, $2, $3, $4, $5) + 1 | 8 | SELECT * FROM pgss_dml_tab WHERE a IN ($1 /*, ... */) 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t 1 | 0 | SET pg_stat_statements.track_utility = $1 6 | 6 | UPDATE pgss_dml_tab SET b = $1 WHERE a = $2 diff --git a/contrib/pg_stat_statements/expected/squashing.out b/contrib/pg_stat_statements/expected/squashing.out index 55aa5109433..7b138af098c 100644 --- a/contrib/pg_stat_statements/expected/squashing.out +++ b/contrib/pg_stat_statements/expected/squashing.out @@ -4,39 +4,7 @@ CREATE EXTENSION pg_stat_statements; CREATE TABLE test_squash (id int, data int); -- IN queries --- No squashing is performed, as a baseline result -SELECT pg_stat_statements_reset() IS NOT NULL AS t; - t ---- - t -(1 row) - -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9); - id | data -----+------ -(0 rows) - -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - id | data -----+------ -(0 rows) - -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); - id | data -----+------ -(0 rows) - -SELECT query, calls FROM pg_stat_statements ORDER BY query COLLATE "C"; - query | calls ---------------------------------------------------------------------------------------+------- - SELECT * FROM test_squash WHERE id IN ($1, $2, $3, $4, $5, $6, $7, $8, $9) | 1 - SELECT * FROM test_squash WHERE id IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) | 1 - SELECT * FROM test_squash WHERE id IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) | 1 - SELECT pg_stat_statements_reset() IS NOT NULL AS t | 1 -(4 rows) - -- Normal scenario, too many simple constants for an IN query -SET query_id_squash_values = on; SELECT pg_stat_statements_reset() IS NOT NULL AS t; t --- @@ -461,4 +429,3 @@ SELECT query, calls FROM pg_stat_statements ORDER BY query COLLATE "C"; SELECT pg_stat_statements_reset() IS NOT NULL AS t | 1 (2 rows) -RESET query_id_squash_values; diff --git a/contrib/pg_stat_statements/sql/squashing.sql b/contrib/pg_stat_statements/sql/squashing.sql index 56ee8ccb9a1..908be81ff2b 100644 --- a/contrib/pg_stat_statements/sql/squashing.sql +++ b/contrib/pg_stat_statements/sql/squashing.sql @@ -7,16 +7,7 @@ CREATE TABLE test_squash (id int, data int); -- IN queries --- No squashing is performed, as a baseline result -SELECT pg_stat_statements_reset() IS NOT NULL AS t; -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9); -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); -SELECT * FROM test_squash WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); -SELECT query, calls FROM pg_stat_statements ORDER BY query COLLATE "C"; - -- Normal scenario, too many simple constants for an IN query -SET query_id_squash_values = on; - SELECT pg_stat_statements_reset() IS NOT NULL AS t; SELECT * FROM test_squash WHERE id IN (1); SELECT * FROM test_squash WHERE id IN (1, 2, 3); @@ -177,4 +168,3 @@ SELECT pg_stat_statements_reset() IS NOT NULL AS t; SELECT ARRAY[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; SELECT query, calls FROM pg_stat_statements ORDER BY query COLLATE "C"; -RESET query_id_squash_values; |
