Code review for recent SQL/JSON commits
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 4 Apr 2023 12:04:30 +0000 (14:04 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 4 Apr 2023 12:04:30 +0000 (14:04 +0200)
commit71bfd1543f8b68e1013d3e8540b6b5aaf98e02e9
tree5d4597a46decc80529836eade41f79f1b812df2a
parent8a2b1b147728b11f6df569081d121b9e3135109d
Code review for recent SQL/JSON commits

- At the last minute and for no particularly good reason, I changed the
  WITHOUT token to be marked especially for lookahead, from the one in
  WITHOUT TIME to the one in WITHOUT UNIQUE.  Study of upcoming patches
  (where a new WITHOUT ARRAY WRAPPER clause is added) showed me that the
  former was better, so put it back the way the original patch had it.

- update exprTypmod() for JsonConstructorExpr to return the typmod of
  the RETURNING clause, as a comment there suggested.  Perhaps it's
  possible for this to make a difference with datetime types, but I
  didn't try to build a test case.

- The nodeFuncs.c support code for new nodes was calling walker()
  directly instead of the WALK() macro as introduced by commit 1c27d16e6e5c.
  Modernize that.  Also add exprLocation() support for a couple of nodes
  that missed it.  Lastly, reorder the code more sensibly.

The WITHOUT_LA -> WITHOUT change means that stored rules containing
either WITHOUT TIME ZONE or WITHOUT UNIQUE KEYS would change
representation.  Therefore, bump catversion.

Discussion: https://postgr.es/m/20230329181708.e64g2tpy7jyufqkr@alvherre.pgsql
src/backend/nodes/nodeFuncs.c
src/backend/parser/gram.y
src/backend/parser/parser.c
src/include/catalog/catversion.h
src/interfaces/ecpg/preproc/parser.c