postgresql/contrib/pg_stat_statements
Michael Paquier 31de7e60da Show savepoint names as constants in pg_stat_statements
In pg_stat_statements, savepoint names now show up as constants with a
parameter symbol, using as base query string the one added as a new
entry to the PGSS hash table, leading to:
RELEASE $1
ROLLBACK TO $1
SAVEPOINT $1

Applying constants to these query parts is a huge advantage for
workloads that generate randomly savepoint points, like ORMs (Django is
at the origin of this patch).  The ODBC driver is a second layer that
likes a lot savepoints, though it does not use a random naming pattern.

A "location" field is added to TransactionStmt, now set only for
savepoints.  The savepoint name is ignored by the query jumbling.  The
location can be extended to other query patterns, if required, like 2PC
commands.  Some tests are added to pg_stat_statements for all the query
patterns supported by the parser.

ROLLBACK, ROLLBACK TO SAVEPOINT and ROLLBACK TRANSACTION TO SAVEPOINT
have the same Node representation, so all these are equivalents.  The
same happens for RELEASE and RELEASE SAVEPOINT.

Author: Greg Sabino Mullane
Discussion: https://postgr.es/m/CAKAnmm+2s9PA4OaumwMJReWHk8qvJ_-g1WqxDRDAN1BSUfxyTw@mail.gmail.com
2023-07-27 09:42:33 +09:00
..
expected Show savepoint names as constants in pg_stat_statements 2023-07-27 09:42:33 +09:00
sql Show savepoint names as constants in pg_stat_statements 2023-07-27 09:42:33 +09:00
.gitignore pg_stat_statements: Add .gitignore file for tests 2016-11-13 08:24:43 -05:00
Makefile Refactor more the regression tests of pg_stat_statements 2023-03-03 08:46:11 +09:00
meson.build Refactor more the regression tests of pg_stat_statements 2023-03-03 08:46:11 +09:00
pg_stat_statements--1.0--1.1.sql Fix typo in update scripts for some contrib modules. 2013-07-19 04:13:01 +09:00
pg_stat_statements--1.1--1.2.sql Keep pg_stat_statements' query texts in a file, not in shared memory. 2014-01-27 15:37:54 -05:00
pg_stat_statements--1.2--1.3.sql Add stats for min, max, mean, stddev times to pg_stat_statements. 2015-03-27 15:43:22 -04:00
pg_stat_statements--1.3--1.4.sql Update pg_stat_statements extension for parallel query. 2016-06-10 10:42:01 -04:00
pg_stat_statements--1.4--1.5.sql Default monitoring roles 2017-03-30 14:18:53 -04:00
pg_stat_statements--1.4.sql Update pg_stat_statements extension for parallel query. 2016-06-10 10:42:01 -04:00
pg_stat_statements--1.5--1.6.sql Revoke pg_stat_statements_reset() permissions 2018-09-25 09:55:44 +09:00
pg_stat_statements--1.6--1.7.sql Extend pg_stat_statements_reset to reset statistics specific to a 2019-01-11 08:50:09 +05:30
pg_stat_statements--1.7--1.8.sql Change the display of WAL usage statistics in Explain. 2020-05-05 08:00:53 +05:30
pg_stat_statements--1.8--1.9.sql Merge v1.10 of pg_stat_statements into v1.9 2021-04-08 15:15:17 +02:00
pg_stat_statements--1.9--1.10.sql Add JIT counters to pg_stat_statements 2022-04-08 13:52:16 +02:00
pg_stat_statements.c pg_stat_statements: Fix second comment related to entry resets 2023-06-29 09:17:26 +09:00
pg_stat_statements.conf Allow compute_query_id to be set to 'auto' and make it default 2021-05-15 14:13:09 -04:00
pg_stat_statements.control pg_stat_statements: Track I/O timing for temporary file blocks 2022-04-08 13:12:07 +09:00