Greg Stark wrote:
> On Fri, Aug 21, 2009 at 12:43 PM, Heikki
> Linnakangas<heikki.linnakangas@enterprisedb.com> wrote:
>> Here is an updated version of my patch to return data from b-tree
>> indexes, and use it to satisfy quals.
>
> + if (!found_clause && useful_pathkeys == NIL && !useful_predicate)
> + ipath->scantype = ST_INDEXSCAN;
> + else
> + {
> + ipath->scantype = 0;
> + if (index->amhasgettuple)
> + ipath->scantype |= ST_INDEXSCAN;
> + if (index->amhasgetbitmap)
> + ipath->scantype |= ST_BITMAPSCAN;
> + }
> +
>
>
> Does this section need to check amhasgettuple for the index-only scan
> case as well? It looks like right now if an indexam has amregurgitate
> set but not amhasgettuple then weird things could happen.
We check earlier in the function before we construct indexonlyQuals that
the index has amhasgettuple. Hmm, can you find an easier-to-understand
way to write that?
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com