Adjust the definition of RestrictInfo's left_relids and right_relids
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 30 Dec 2003 23:53:15 +0000 (23:53 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 30 Dec 2003 23:53:15 +0000 (23:53 +0000)
commitbe6c38b9033c546e2a8a9fab4329b89be57a263b
tree521c34b2c94d52614160a5582654751e089b226e
parent5e545151671fa4ab3cf0e62ffd1e207609ad1517
Adjust the definition of RestrictInfo's left_relids and right_relids
fields: now they are valid whenever the clause is a binary opclause,
not only when it is a potential join clause (there is a new boolean
field canjoin to signal the latter condition).  This lets us avoid
recomputing the relid sets over and over while examining indexes.
Still more work to do to make this as useful as it could be, because
there are places that could use the info but don't have access to the
RestrictInfo node.
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/path/joinpath.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/restrictinfo.c
src/include/nodes/relation.h
src/include/optimizer/clauses.h