diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2024-03-22 09:13:35 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2024-03-22 09:49:12 +0100 |
commit | d20d8fbd3e4d327dd0778a02d5661b51f4f6423a (patch) | |
tree | 41e1a5fd7d7c8ee46aa356c8afde9da51c264a95 /src/backend/nodes/print.c | |
parent | 6ae701b4378db2284c77314560e95a93d0ba9484 (diff) | |
download | postgresql-d20d8fbd3e4d327dd0778a02d5661b51f4f6423a.tar.gz postgresql-d20d8fbd3e4d327dd0778a02d5661b51f4f6423a.zip |
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@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CAEze2WgrCiR3JZmWyB0YTc8HV7ewRdx13j0CqD6mVkYAW+SFGQ@mail.gmail.com
Diffstat (limited to 'src/backend/nodes/print.c')
-rw-r--r-- | src/backend/nodes/print.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/nodes/print.c b/src/backend/nodes/print.c index d2a58a5956a..02798f4482d 100644 --- a/src/backend/nodes/print.c +++ b/src/backend/nodes/print.c @@ -38,7 +38,7 @@ print(const void *obj) char *s; char *f; - s = nodeToString(obj); + s = nodeToStringWithLocations(obj); f = format_node_dump(s); pfree(s); printf("%s\n", f); @@ -56,7 +56,7 @@ pprint(const void *obj) char *s; char *f; - s = nodeToString(obj); + s = nodeToStringWithLocations(obj); f = pretty_format_node_dump(s); pfree(s); printf("%s\n", f); @@ -74,7 +74,7 @@ elog_node_display(int lev, const char *title, const void *obj, bool pretty) char *s; char *f; - s = nodeToString(obj); + s = nodeToStringWithLocations(obj); if (pretty) f = pretty_format_node_dump(s); else |