Fix write/read of empty string fields in Nodes.
Historically, outToken has represented both NULL and empty-string
strings as "<>", which readfuncs.c then read as NULL, thus failing
to preserve empty-string fields accurately. Remarkably, this has
not caused any serious problems yet, but let's fix it.
We'll keep the "<>" notation for NULL, and use """" for empty string,
because that matches other notational choices already in use.
An actual input string of """" is converted to "\""" (this was true
already, apparently as a hangover from an ancient time when string
quoting was handled directly by pg_strtok).
CHAR fields also use "<>", but for '\0'.
Author: Tom Lane <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/[email protected]
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/8999f5ed3cd7d26be1121d912086d04d134d398b
Modified Files
--------------
src/backend/nodes/outfuncs.c | 21 ++++++++++++++++++---
src/backend/nodes/readfuncs.c | 14 ++++++++++++--
2 files changed, 30 insertions(+), 5 deletions(-)