Move pg_stat_statements query jumbling to core.
commit5fd9dfa5f50e4906c35133a414ebec5b6d518493
authorBruce Momjian <bruce@momjian.us>
Wed, 7 Apr 2021 17:06:47 +0000 (7 13:06 -0400)
committerBruce Momjian <bruce@momjian.us>
Wed, 7 Apr 2021 17:06:56 +0000 (7 13:06 -0400)
tree4bf0c6c9088eb8b053b029b9be787939d48d2e3b
parenta282ee68a070a8adc6e6d45e8e643769c587ecc3
Move pg_stat_statements query jumbling to core.

Add compute_query_id GUC to control whether a query identifier should be
computed by the core (off by default).  It's thefore now possible to
disable core queryid computation and use pg_stat_statements with a
different algorithm to compute the query identifier by using a
third-party module.

To ensure that a single source of query identifier can be used and is
well defined, modules that calculate a query identifier should throw an
error if compute_query_id specified to compute a query id and if a query
idenfitier was already calculated.

Discussion: https://postgr.es/m/20210407125726.tkvjdbw76hxnpwfi@nol

Author: Julien Rouhaud

Reviewed-by: Alvaro Herrera, Nitin Jadhav, Zhihong Yu
13 files changed:
contrib/pg_stat_statements/pg_stat_statements.c
contrib/pg_stat_statements/pg_stat_statements.conf
doc/src/sgml/config.sgml
doc/src/sgml/pgstatstatements.sgml
src/backend/parser/analyze.c
src/backend/tcop/postgres.c
src/backend/utils/misc/Makefile
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/misc/queryjumble.c [new file with mode: 0644]
src/include/parser/analyze.h
src/include/utils/guc.h
src/include/utils/queryjumble.h [new file with mode: 0644]