summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier2023-03-08 05:38:35 +0000
committerMichael Paquier2023-03-08 05:38:35 +0000
commita4e003338d1832981354f5f89d9d5858439fd669 (patch)
tree96f809662f2c88e20c560d5b8d9378ccde0bdb38
parent401874ab020b44d8000ac90debef43a146b96d5a (diff)
Refine query jumbling handling for CallStmt
Previously, all the nodes of CallStmt were included in the jumbling, causing a duplicate in the computation as the transformed state of the CALL query was included as well as the parsed state (transformed FuncCall with all the input arguments and potential output arguments). Reviewed-by: Bertrand Drouvot Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/include/nodes/parsenodes.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index f7d7f10f7d..259e814253 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -3221,14 +3221,18 @@ typedef struct InlineCodeBlock
* list contains copies of the expressions for all output arguments, in the
* order of the procedure's declared arguments. (outargs is never evaluated,
* but is useful to the caller as a reference for what to assign to.)
+ * The transformed call state is not relevant in the query jumbling, only the
+ * function call is.
* ----------------------
*/
typedef struct CallStmt
{
NodeTag type;
FuncCall *funccall; /* from the parser */
- FuncExpr *funcexpr; /* transformed call, with only input args */
- List *outargs; /* transformed output-argument expressions */
+ /* transformed call, with only input args */
+ FuncExpr *funcexpr pg_node_attr(query_jumble_ignore);
+ /* transformed output-argument expressions */
+ List *outargs pg_node_attr(query_jumble_ignore);
} CallStmt;
typedef struct CallContext