OSDN Git Service

Add support for doing FULL JOIN ON FALSE. While this is really a rather
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jan 2010 23:25:36 +0000 (23:25 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jan 2010 23:25:36 +0000 (23:25 +0000)
commit90f4c2d960a3f3b9d51d8349119f0fbb4c35fc9b
tree88f8e96f26083306f7523bd9c81394cc07246afa
parentd86d51a95810caebcea587498068ff32fe28293e
Add support for doing FULL JOIN ON FALSE.  While this is really a rather
peculiar variant of UNION ALL, and so wouldn't likely get written directly
as-is, it's possible for it to arise as a result of simplification of
less-obviously-silly queries.  In particular, now that we can do flattening
of subqueries that have constant outputs and are underneath an outer join,
it's possible for the case to result from simplification of queries of the
type exhibited in bug #5263.  Back-patch to 8.4 to avoid a functionality
regression for this type of query.
src/backend/executor/nodeMergejoin.c
src/backend/optimizer/path/joinpath.c
src/include/nodes/execnodes.h
src/test/regress/expected/join.out
src/test/regress/sql/join.sql