summaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_clause.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2021-03-31 10:52:37 +0200
committerPeter Eisentraut <peter@eisentraut.org>2021-03-31 10:52:37 +0200
commit66392d396508c91c2ec07a61568bf96acb663ad8 (patch)
tree0917219968a431e0fa1700d6fdd1f005a91a914c /src/backend/parser/parse_clause.c
parent91c5a8caaa61055959aa5fb68a00e5f690e39a34 (diff)
downloadpostgresql-66392d396508c91c2ec07a61568bf96acb663ad8.tar.gz
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index bdf8ec46e2..5dfea46021 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;