Tweak create_index_paths()'s test for whether to consider a bitmap scan.

Per my note of a couple days ago, create_index_paths would refuse to
consider any path at all for GIN indexes if the selectivity estimate came
out as 1.0; not even if you tried to force it with enable_seqscan.  While
this isn't really a bad outcome in practice, it could be annoying for
testing purposes.  Adjust the test for "is this path only useful for
sorting" so that it doesn't fire on paths with nil pathkeys, which will
include all GIN paths.
This commit is contained in:
Tom Lane 2011-01-11 12:12:04 -05:00
parent 1c400d3309
commit 9d1ac2f5fa

View File

@ -196,8 +196,8 @@ create_index_paths(PlannerInfo *root, RelOptInfo *rel)
add_path(rel, (Path *) ipath);
if (ipath->indexinfo->amhasgetbitmap &&
ipath->indexselectivity < 1.0 &&
!ScanDirectionIsBackward(ipath->indexscandir))
(ipath->path.pathkeys == NIL ||
ipath->indexselectivity < 1.0))
bitindexpaths = lappend(bitindexpaths, ipath);
}