From ee3ef4af19d8ba140a8b33c6598d470d36eec10c Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 25 Apr 2024 10:20:49 +0900 Subject: [PATCH] Improve comment of DeallocateStmt->isall This field is not used directly in the code, but it is important for query jumbling to be able to make a difference between a named DEALLOCATE and DEALLOCATE ALL (see bb45156f342c). This behavior is tracked in the regression tests of pg_stat_statements, but the reason why this field is important can be easily missed, as a recent discussion has proved, so let's improve its comment to document the reason why it needs to be around. Wording has been suggested by Tom Lane Discussion: https://postgr.es/m/Zih1ATt37YFda8_p@paquier.xyz --- src/include/nodes/parsenodes.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index c5f34efe27..af80a5d38e 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -4070,7 +4070,12 @@ typedef struct DeallocateStmt NodeTag type; /* The name of the plan to remove, NULL if DEALLOCATE ALL */ char *name pg_node_attr(query_jumble_ignore); - /* true if DEALLOCATE ALL */ + + /* + * True if DEALLOCATE ALL. This is redundant with "name == NULL", but we + * make it a separate field so that exactly this condition (and not the + * precise name) will be accounted for in query jumbling. + */ bool isall; /* token location, or -1 if unknown */ ParseLoc location pg_node_attr(query_jumble_location);