pgsql: Do not output actual value of location fields in node serializat

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Do not output actual value of location fields in node serializat
Date: 2024-03-22 08:55:56
Message-ID: E1rnagt-0054F0-SD@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Do not output actual value of location fields in node serialization by default

This changes nodeToString() to not output the actual value of location
fields in nodes, but instead it writes -1. This mirrors the fact that
stringToNode() also does not read location field values but always
stores -1.

For most uses of nodeToString(), which is to store nodes in catalog
fields, this is more useful. We don't store original query texts in
catalogs, so any lingering query location values are not meaningful.

For debugging purposes, there is a new nodeToStringWithLocations(),
which mirrors the existing stringToNodeWithLocations(). This is used
for WRITE_READ_PARSE_PLAN_TREES and nodes/print.c functions, which
covers all the debugging uses.

Reviewed-by: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/CAEze2WgrCiR3JZmWyB0YTc8HV7ewRdx13j0CqD6mVkYAW+SFGQ(at)mail(dot)gmail(dot)com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d20d8fbd3e4d327dd0778a02d5661b51f4f6423a

Modified Files
--------------
src/backend/nodes/outfuncs.c | 37 ++++++++++++++++++++++++++++++++++---
src/backend/nodes/print.c | 6 +++---
src/backend/tcop/postgres.c | 6 +++---
src/include/nodes/nodes.h | 1 +
4 files changed, 41 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alexander Korotkov 2024-03-22 13:26:03 pgsql: Fix an oversight in refactoring in 06b10f80ba4.
Previous Message Amit Kapila 2024-03-22 08:38:03 pgsql: Track invalidation_reason in pg_replication_slots.