Skip site navigation (1) Skip section navigation (2)

Stream bitmaps

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Stream bitmaps
Date: 2007-03-05 10:32:02
Message-ID: 45EBF1A2.5040402@enterprisedb.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Hi all,

I'd like to see the indexam API changes needed by the bitmap indexam to 
be committed soon. Has anyone looked at the proposed API in the latest 
patch? Any thoughts?

I'm quite happy with it myself, with a few reservations:

- All the getbitmap implementations except the new bitmap indexam are 
just boilerplate. How about making getbitmap-function optional, and 
having a generic implementation that fills in a hash bitmap using the 
traditional getnext function?

- getbitmap is passed an existing bitmap as argument, and the 
implementation needs to OR the existing bitmap with new tuples. How 
about AND? An indexam could be smart about ANDing with an existing 
bitmap, for example skipping to the first set bit in the existing bitmap 
and starting the scan from there.

- I'd like to have support to return candidate matches with both 
getbitmap and getnext. A simple flag per page of results would be enough 
for getbitmap, I think.

- StreamBitmap and HashBitmap are separate node types, but OpStream is 
not. opaque-field in the StreamBitmap struct is not really that opaque, 
it needs to be a StreamNode. I drew a UML sketch of what I think the 
class-hierarchy is 
(http://community.enterprisedb.com/streambitmaps.png). This is 
object-oriented programming, we're just implementing classes and 
inheritance with structs and function pointers. The current patch mixes 
different techniques, and that needs to be cleaned up.

I'd like to see a separate patch that contains just the API changes. 
Gavin, could you extract an API-only patch from the bitmap index patch? 
I can work on it as well, but I don't want to step on your toes.

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

Responses

pgsql-hackers by date

Next:From: Gavin SherryDate: 2007-03-05 11:11:36
Subject: Re: Stream bitmaps
Previous:From: ITAGAKI TakahiroDate: 2007-03-05 10:14:34
Subject: Aggressive freezing in lazy-vacuum

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group