pgsql: Mark more nodes with attribute no_query_jumble

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: Mark more nodes with attribute no_query_jumble
Дата
Msg-id E1pRMO2-000pxc-F5@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Mark more nodes with attribute no_query_jumble

This commit removes most of the Plan and Path nodes, which should never
be included in the query jumbling because we ignore these in Query
nodes.  This is facilitated by making no_query_jumble an inherited
attribute, like no_copy, no_equal and no_read when the supertype of a
node is found as marked with that.

RawStmt is not used in parsed queries, so it can be removed from the
query jumbling.  A couple of nodes defined in pathnodes.h, plannodes.h
and primnodes.h with NodeTag as supertype need to be marked
individually.

Forcing the execution of the query jumbling code with compute_query_id =
auto while pg_stat_statements is loaded brings the code coverage of
queryjumblefuncs.funcs.c to 95.6%.

The core code does not yet include a way to enforce the execution in
query jumbling except in pg_stat_statements, so the numbers I am
mentioning above will not reflect on the default coverage report with
just what is done in this commit.

Reported-by: Tom Lane
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/3344827.1675809127@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2a507f6fd8b75c5197a58aac7c8003befd072003

Modified Files
--------------
src/backend/nodes/gen_node_support.pl |  4 ++-
src/include/nodes/nodes.h             |  8 +++---
src/include/nodes/parsenodes.h        |  5 ++++
src/include/nodes/pathnodes.h         | 54 +++++++++++++++++++----------------
src/include/nodes/plannodes.h         | 16 +++++------
src/include/nodes/primnodes.h         |  4 +++
src/include/utils/rel.h               |  2 +-
7 files changed, 54 insertions(+), 39 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Make pg_bsd_indent's .h files inclusion-order-safe.
Следующее
От: David Rowley
Дата:
Сообщение: pgsql: Disable WindowAgg inverse transitions when subplans are present