postgresql/src/include/nodes
Michael Paquier 11c34b342b Show parameters of CALL as constants in pg_stat_statements
This commit changes the query jumbling of CallStmt so as its IN/OUT
parameters are able to show up as constants with a parameter symbol in
pg_stat_statements, like:
CALL proc1($1, $2);
CALL proc2($1, $2, $3);

The transformed FuncExpr is used in the query ID computation instead of
the FuncCall generated by the parser, so as it is sensitive to the OID
of the procedure and its list of input arguments.  The output arguments
are handled in a separate list in CallStmt, which is also included in
the computation.

Tests are added to pg_stat_statements to show how this affects CALL with
IN/OUT parameters as well as overloaded functions.

Like 638d42a3c5 or 31de7e60da, this improves the monitoring of
workloads with a lot of CALL statements, preventing unnecessary bloat
when these use different input (or event output) values.

Author: Sami Imseih
Discussion: https://postgr.es/m/B44FA29D-EBD0-4DD9-ABC2-16F1CB087074@amazon.com
2023-09-28 15:17:55 +09:00
..
.gitignore Automatically generate node support functions 2022-07-09 08:53:59 +02:00
bitmapset.h Require empty Bitmapsets to be represented as NULL. 2023-03-02 11:47:26 -05:00
execnodes.h Fix misbehavior of EvalPlanQual checks with multiple result relations. 2023-05-19 14:26:40 -04:00
extensible.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
lockoptions.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
makefuncs.h Code review for commit b6e1157e7d 2023-07-21 19:15:34 +09:00
memnodes.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
meson.build meson: Add dependencies to perl modules to various script invocations 2023-06-09 20:12:16 -07:00
miscnodes.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
multibitmapset.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeFuncs.h Fix typos in comments 2023-05-02 12:23:08 +09:00
nodes.h Support "Right Anti Join" plan shapes. 2023-04-05 16:59:09 -04:00
params.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
parsenodes.h Show parameters of CALL as constants in pg_stat_statements 2023-09-28 15:17:55 +09:00
pathnodes.h Re-allow FDWs and custom scan providers to replace joins with pseudoconstant quals. 2023-08-15 16:45:00 +09:00
pg_list.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
plannodes.h Revert "Move PartitionPruneInfo out of plan nodes into PlannedStmt" 2023-05-04 12:09:59 +02:00
primnodes.h Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
print.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
queryjumble.h Remove dependency to query text in JumbleQuery() 2023-06-28 08:59:36 +09:00
readfuncs.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
replnodes.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
subscripting.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
supportnodes.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
tidbitmap.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
value.h Update copyright for 2023 2023-01-02 15:00:37 -05:00