Second try at fixing join alias variables. Instead of attaching miscellaneous
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Apr 2002 19:54:29 +0000 (19:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Apr 2002 19:54:29 +0000 (19:54 +0000)
commit6c5988694218a62c6bc90fc625cbc64f732520cc
treecdc64472760a6ecbf73e2334bf23ae0767bf2f21
parentc8996f9c6bd82765849da85a9cde5de27f8cae79
Second try at fixing join alias variables.  Instead of attaching miscellaneous
lists to join RTEs, attach a list of Vars and COALESCE expressions that will
replace the join's alias variables during planning.  This simplifies
flatten_join_alias_vars while still making it easy to fix up varno references
when transforming the query tree.  Add regression test cases for interactions
of subqueries with outer joins.
21 files changed:
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/var.c
src/backend/parser/analyze.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_relation.c
src/include/catalog/catversion.h
src/include/nodes/parsenodes.h
src/include/nodes/plannodes.h
src/include/optimizer/planmain.h
src/include/optimizer/var.h
src/include/parser/parse_relation.h
src/test/regress/expected/join.out
src/test/regress/sql/join.sql