Re: Cleanup: remove unused fields from nodes

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Etsuro Fujita <etsuro.fujita@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2024-04-24T02:57:05Z
Lists: pgsql-hackers
On Tue, Apr 23, 2024 at 01:01:04PM -0400, Tom Lane wrote:
> That is, query jumbling no longer distinguishes "DEALLOCATE x" from
> "DEALLOCATE ALL", because the DeallocateStmt.name field is marked
> query_jumble_ignore.  Now maybe that's fine, but it's a point
> we'd not considered so far in this thread.  Thoughts?

And of course, I've managed to forget about bb45156f342c and the
reason behind the addition of the field is to be able to make the
difference between the named and ALL cases for DEALLOCATE, around
here:
https://www.postgresql.org/message-id/ZNq9kRwWbKzvR%2B2a%40paquier.xyz

This is new in v17, so perhaps it could be changed, but I think that's
important to make the difference here for monitoring purposes as
DEALLOCATE ALL could be used as a way to clean up prepared statements
in connection poolers (for example, pgbouncer's server_reset_query).
And doing this tweak in the Node structure of DeallocateStmt is
simpler than having to maintain a new pg_node_attr for query jumbling.
--
Michael

Commits

  1. Improve comment of DeallocateStmt->isall

  2. Remove some unnecessary fields from executor nodes.

  3. Add SQL/JSON query functions

  4. Add support for doing late row locking in FDWs.