diff options
| author | Peter Eisentraut | 2021-03-31 15:09:24 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2021-03-31 15:10:50 +0000 |
| commit | 055fee7eb4dcc78e58672aef146334275e1cc40d (patch) | |
| tree | 2034e69c471453e9aea59712b09d3fed95bce330 /src/include/parser/parse_node.h | |
| parent | 27e1f14563cf982f1f4d71e21ef247866662a052 (diff) | |
Allow an alias to be attached to a JOIN ... USING
This allows something like
SELECT ... FROM t1 JOIN t2 USING (a, b, c) AS x
where x has the columns a, b, c and unlike a regular alias it does not
hide the range variables of the tables being joined t1 and t2.
Per SQL:2016 feature F404 "Range variable for common column names".
Reviewed-by: Vik Fearing <[email protected]>
Reviewed-by: Tom Lane <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/[email protected]
Diffstat (limited to 'src/include/parser/parse_node.h')
| -rw-r--r-- | src/include/parser/parse_node.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h index 70739bcd5b6..1500de2dd08 100644 --- a/src/include/parser/parse_node.h +++ b/src/include/parser/parse_node.h @@ -228,7 +228,10 @@ struct ParseState * An element of a namespace list. * * p_names contains the table name and column names exposed by this nsitem. - * (Currently, it's always equal to p_rte->eref.) + * (Typically it's equal to p_rte->eref, but for a JOIN USING alias it's + * equal to p_rte->join_using_alias. Since the USING columns will be the + * join's first N columns, the net effect is just that we expose only those + * join columns via this nsitem.) * * p_rte and p_rtindex link to the underlying rangetable entry. * |
