From b4080fa3dcf6c6359e542169e0e81a0662c53ba8 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 22 Mar 2024 07:12:28 +0100 Subject: [PATCH] Make RangeTblEntry dump order consistent Put the fields alias and eref earlier in the struct, so that it matches the order in _outRangeTblEntry()/_readRangeTblEntry(). This helps if we ever want to fully automate out/read of RangeTblEntry. Also, it makes dumps in the debugger easier to read in the same way. Internally, this makes no difference. Reviewed-by: Andrew Dunstan Discussion: https://www.postgresql.org/message-id/flat/4b27fc50-8cd6-46f5-ab20-88dbaadca645@eisentraut.org --- src/backend/nodes/outfuncs.c | 1 - src/backend/nodes/readfuncs.c | 1 - src/include/catalog/catversion.h | 2 +- src/include/nodes/parsenodes.h | 14 ++++++++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 29cbc83bd9..c55375e7f9 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -494,7 +494,6 @@ _outRangeTblEntry(StringInfo str, const RangeTblEntry *node) { WRITE_NODE_TYPE("RANGETBLENTRY"); - /* put alias + eref first to make dump more legible */ WRITE_NODE_FIELD(alias); WRITE_NODE_FIELD(eref); WRITE_ENUM_FIELD(rtekind, RTEKind); diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index a122407c88..c4d01a441a 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -348,7 +348,6 @@ _readRangeTblEntry(void) { READ_LOCALS(RangeTblEntry); - /* put alias + eref first to make dump more legible */ READ_NODE_FIELD(alias); READ_NODE_FIELD(eref); READ_ENUM_FIELD(rtekind, RTEKind); diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 3c4e49b73a..a52bb137a9 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -57,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202403202 +#define CATALOG_VERSION_NO 202403221 #endif diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 1ea3b8f0b1..298a682833 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -1027,6 +1027,16 @@ typedef struct RangeTblEntry NodeTag type; + /* + * Fields valid in all RTEs: + * + * put alias + eref first to make dump more legible + */ + /* user-written alias clause, if any */ + Alias *alias pg_node_attr(query_jumble_ignore); + /* expanded reference names */ + Alias *eref pg_node_attr(query_jumble_ignore); + RTEKind rtekind; /* see above */ /* @@ -1218,10 +1228,6 @@ typedef struct RangeTblEntry /* * Fields valid in all RTEs: */ - /* user-written alias clause, if any */ - Alias *alias pg_node_attr(query_jumble_ignore); - /* expanded reference names */ - Alias *eref pg_node_attr(query_jumble_ignore); /* was LATERAL specified? */ bool lateral pg_node_attr(query_jumble_ignore); /* present in FROM clause? */