Rewrite OR indexscan processing to be more flexible. We can now for the
authorTom Lane <[email protected]>
Sun, 4 Jan 2004 00:07:32 +0000 (00:07 +0000)
committerTom Lane <[email protected]>
Sun, 4 Jan 2004 00:07:32 +0000 (00:07 +0000)
commit6cb1c0238b2503f485e3491902bfc294b7beeed1
tree0cb4104e7027805adb1420ed182e4ff908fd0b0e
parent037e2fcf8fb4f5af00a5eceb26f4a2170e99b343
Rewrite OR indexscan processing to be more flexible.  We can now for the
first time generate an OR indexscan for a two-column index when the WHERE
condition is like 'col1 = foo AND (col2 = bar OR col2 = baz)' --- before,
the OR had to be on the first column of the index or we'd not notice the
possibility of using it.  Some progress towards extracting OR indexscans
from subclauses of an OR that references multiple relations, too, although
this code is #ifdef'd out because it needs more work.
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/path/orindxpath.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/prep/prepunion.c
src/backend/optimizer/util/plancat.c
src/backend/optimizer/util/restrictinfo.c
src/include/nodes/relation.h
src/include/optimizer/paths.h
src/include/optimizer/restrictinfo.h