Fix a bug in the original implementation of redundant-join-clause removal:
authorTom Lane <[email protected]>
Tue, 31 Jul 2007 19:54:01 +0000 (19:54 +0000)
committerTom Lane <[email protected]>
Tue, 31 Jul 2007 19:54:01 +0000 (19:54 +0000)
commit4e957954d6d14967db69d4e08f5fcc6d82d1f9fe
tree090733f553d0cd2416b9dd33d9544233b20b38df
parentbfe4f481460fc7d489f0adbe3eb63f2037ddab2a
Fix a bug in the original implementation of redundant-join-clause removal:
clauses in which one side or the other references both sides of the join
cannot be removed as redundant, because that expression won't have been
constrained below the join.  Per report from Sergey Burladyan.
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/util/relnode.c
src/backend/optimizer/util/restrictinfo.c
src/include/optimizer/restrictinfo.h
src/test/regress/expected/join.out
src/test/regress/expected/join_1.out
src/test/regress/sql/join.sql