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)
commitbecdbe63b47ecca2d07b2a1fc76bdc41e89f2866
tree6660129156d217a31c613282d58de65be3db10cc
parent80f279456387f8d16a09c675522f58b6ef31eea8
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