diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2021-03-31 10:52:37 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2021-03-31 10:52:37 +0200 |
commit | 66392d396508c91c2ec07a61568bf96acb663ad8 (patch) | |
tree | 0917219968a431e0fa1700d6fdd1f005a91a914c /src/backend/parser/parse_clause.c | |
parent | 91c5a8caaa61055959aa5fb68a00e5f690e39a34 (diff) | |
download | postgresql-66392d396508c91c2ec07a61568bf96acb663ad8.tar.gz postgresql-66392d396508c91c2ec07a61568bf96acb663ad8.zip |
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 <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/785329.1616455091@sss.pgh.pa.us
Diffstat (limited to 'src/backend/parser/parse_clause.c')
-rw-r--r-- | src/backend/parser/parse_clause.c | 6 |
1 files changed, 3 insertions, 3 deletions
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; |