Instead of rechecking lossy index operators by putting them into the
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 6 Jan 2004 04:31:01 +0000 (04:31 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 6 Jan 2004 04:31:01 +0000 (04:31 +0000)
commitb0c4a50bbbbd62c444cb3806a97c1e51e2249cfd
tree0816cf1d1cc2a28665e5de740a20c80afbc4f5e7
parentfa559a86eec2ae90fd63fd7e6563e42f7dc619e0
Instead of rechecking lossy index operators by putting them into the
regular qpqual ('filter condition'), add special-purpose code to
nodeIndexscan.c to recheck them.  This ends being almost no net addition
of code, because the removal of planner code balances out the extra
executor code, but it is significantly more efficient when a lossy
operator is involved in an OR indexscan.  The old implementation had
to recheck the entire indexqual in such cases.
src/backend/executor/nodeIndexscan.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/setrefs.c
src/include/nodes/execnodes.h
src/include/nodes/plannodes.h