Thread: Updated bitmap index patch

Updated bitmap index patch

From
Gavin Sherry
Date:
Hi all,

I've updated the bitmap index patch. It can be found here:

http://www.alcove.com.au/~swm/bitmap-2007-03-12.diff

This fixes some bugs introduced in the last patch, catches up to HEAD and
tidies up the executor code. I want to do a little more tidying, such as
reverting the name changes we made. multiscan still sounds alright.

I've been thinking about vacuum as well. Something along the lines of what
Heikki mentioned earlier -- namely, the ability to iterate the bitmap
setbit by setbit is in order. What I have in mind, though, is that when we
find a reaped setbit, we mark the position and continue to iterate until
we find a non reaped setbit. When, we update the underlying bitmap vector
to reflect the non-set bits.

Thoughts?

Thanks,

Gavin

Re: Updated bitmap index patch

From
Teodor Sigaev
Date:
I don't very like GiST changes:  gistgetbitmap will lock/unlock page for every
tuple. It seems to me taht is better to change gistnext function to use some
sort callback, for example. Or have static array for tids in gistgetbitmap...
--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/

Re: Updated bitmap index patch

From
Heikki Linnakangas
Date:
Gavin Sherry wrote:
> Hi all,
>
> I've updated the bitmap index patch. It can be found here:
>
> http://www.alcove.com.au/~swm/bitmap-2007-03-12.diff
>
> This fixes some bugs introduced in the last patch, catches up to HEAD and
> tidies up the executor code. I want to do a little more tidying, such as
> reverting the name changes we made. multiscan still sounds alright.

Thanks, I'll take a look at it.

I just posted a patch to change the getmulti API. Please have a look at
that and say what you think. I don't want to deliberately bitrot your
patch, but on the other hand I do want to get the candidate matches
support in before the bitmap index am, because reviewing and committing
that can take a long time.

> I've been thinking about vacuum as well. Something along the lines of what
> Heikki mentioned earlier -- namely, the ability to iterate the bitmap
> setbit by setbit is in order. What I have in mind, though, is that when we
> find a reaped setbit, we mark the position and continue to iterate until
> we find a non reaped setbit. When, we update the underlying bitmap vector
> to reflect the non-set bits.

Ok. It's going to be opaque to the caller of the iterate-function
anyway, right?

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

Re: Updated bitmap index patch

From
Gavin Sherry
Date:
Teodor,

On Mon, 12 Mar 2007, Teodor Sigaev wrote:

> I don't very like GiST changes:  gistgetbitmap will lock/unlock page for every
> tuple. It seems to me taht is better to change gistnext function to use some
> sort callback, for example. Or have static array for tids in gistgetbitmap...

Good point. I'll look at it.

Thanks

Gavin