pgsql: Add read support for some missing raw parse nodes

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add read support for some missing raw parse nodes
Date: 2022-09-24 22:29:27
Message-ID: E1ocDeJ-001rN6-0y@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add read support for some missing raw parse nodes

The node types A_Const, Constraint, and A_Expr had custom output
functions, but no read functions were implemented so far.

The A_Expr output format had to be tweaked a bit to make it easier to
parse.

Be a bit more cautious about applying strncmp to unterminated strings.

Also error out if an unrecognized enum value is found in each case,
instead of just printing a placeholder value. That was maybe ok for
debugging but won't work if we want to have robust round-tripping.

Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://www.postgresql.org/message-id/flat/4159834(dot)1657405226(at)sss(dot)pgh(dot)pa(dot)us

Branch
------
master

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

Modified Files
--------------
src/backend/nodes/outfuncs.c | 9 +-
src/backend/nodes/readfuncs.c | 249 ++++++++++++++++++++++++++++++++++++++++-
src/include/nodes/parsenodes.h | 6 +-
3 files changed, 253 insertions(+), 11 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2022-09-24 22:49:57 pgsql: Message style improvements
Previous Message Andres Freund 2022-09-24 20:51:30 pgsql: Remove uses of register due to incompatibility with C++17 and up