From 66392d396508c91c2ec07a61568bf96acb663ad8 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 31 Mar 2021 10:52:37 +0200 Subject: Add p_names field to ParseNamespaceItem ParseNamespaceItem had a wired-in assumption that p_rte->eref describes the table and column aliases exposed by the nsitem. This relaxes this by creating a separate p_names field in an nsitem. This is mainly preparation for a patch for JOIN USING aliases, but it saves one indirection in common code paths, so it's possibly a win on its own. Author: Tom Lane Discussion: https://www.postgresql.org/message-id/785329.1616455091@sss.pgh.pa.us --- src/backend/parser/parse_clause.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/parser/parse_clause.c') diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index bdf8ec46e2b..5dfea460216 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -1217,9 +1217,9 @@ transformFromClauseItem(ParseState *pstate, Node *n, * input column numbers more easily. */ l_nscolumns = l_nsitem->p_nscolumns; - l_colnames = l_nsitem->p_rte->eref->colnames; + l_colnames = l_nsitem->p_names->colnames; r_nscolumns = r_nsitem->p_nscolumns; - r_colnames = r_nsitem->p_rte->eref->colnames; + r_colnames = r_nsitem->p_names->colnames; /* * Natural join does not explicitly specify columns; must generate @@ -1469,7 +1469,7 @@ transformFromClauseItem(ParseState *pstate, Node *n, * Now that we know the join RTE's rangetable index, we can fix up the * res_nscolumns data in places where it should contain that. */ - Assert(res_colindex == list_length(nsitem->p_rte->eref->colnames)); + Assert(res_colindex == list_length(nsitem->p_names->colnames)); for (k = 0; k < res_colindex; k++) { ParseNamespaceColumn *nscol = res_nscolumns + k; -- cgit v1.2.3