Improve comment of DeallocateStmt->isall
authorMichael Paquier <michael@paquier.xyz>
Thu, 25 Apr 2024 01:20:49 +0000 (10:20 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 25 Apr 2024 01:20:49 +0000 (10:20 +0900)
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

index c5f34efe271e607b4887d6471e5a60f4e9a36b82..af80a5d38e0928923fb9acc9c8b814369dbd4288 100644 (file)
@@ -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);