From 71bfd1543f8b68e1013d3e8540b6b5aaf98e02e9 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Tue, 4 Apr 2023 14:04:30 +0200 Subject: 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/parser/parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/backend/parser/parser.c') diff --git a/src/backend/parser/parser.c b/src/backend/parser/parser.c index 65eb0876575..e17c310cc1a 100644 --- a/src/backend/parser/parser.c +++ b/src/backend/parser/parser.c @@ -241,10 +241,10 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) break; case WITHOUT: - /* Replace WITHOUT by WITHOUT_LA if it's followed by UNIQUE */ + /* Replace WITHOUT by WITHOUT_LA if it's followed by TIME */ switch (next_token) { - case UNIQUE: + case TIME: cur_token = WITHOUT_LA; break; } -- cgit v1.2.3