pgsql: Ignore IntoClause.viewQuery in query jumbling - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Ignore IntoClause.viewQuery in query jumbling
Date
Msg-id E1pZjkz-002RAx-97@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Ignore IntoClause.viewQuery in query jumbling

IntoClause.viewQuery is a copy of the parsed-but-not-rewritten SELECT
clause copied to IntoClause when transforming CreateTableAsStmt for a
materialized view.  Including a second copy of the SELECT Query into the
query jumbling was leading to an incorrect numbering of the Const node
locations, as these would be counted twice instead of once.

This becomes visible once the query normalization is applied to CREATE
MATERIALIZED VIEW in pg_stat_statements in the shape of a query string
using only odd numbers for the normalized constants, (regression tests
added in pg_stat_statements as of de2aca2 would show the difference).
Including the original Query from CreateTableAsStmt is enough for the
query jumbling.

Reviewed-by: Bertrand Drouvot
Discussion: https://postgr.es/m/Y+MRdEq9W9XVa2AB@paquier.xyz

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d69cd3a2e29c68a3fdfd4e97167f9a7c6ad29e80

Modified Files
--------------
src/include/nodes/primnodes.h | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Improve readability of code PROCESS_MAIN in vacuum_rel()
Next
From: Andres Freund
Date:
Subject: pgsql: meson: don't require 'touch' binary, make use of 'cp' optional