Re: Refactoring the API for amgetmulti

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org, Jie Zhang <jzhang(at)greenplum(dot)com>, Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
Subject: Re: Refactoring the API for amgetmulti
Date: 2006-07-26 15:54:31
Message-ID: 20060726155431.GB32377@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 26, 2006 at 11:37:01AM -0400, Tom Lane wrote:
> Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> > Well, my only thoughtis that this pretty means you can't use
> > index_getmulti for anything else. For example, when I was playing with
> > async i/o I was using index_getmulti to get a list of TIDs, submitting
> > all the read requests in parallel and then waiting on them. What you
> > lose by storing straight into bitmaps is the *order*.
>
> Right, part of the reason for defining getmulti as it is was the idea
> of preserving flexibility. However it's not apparent that that
> flexibility is buying us anything.

Yeah, off the top of my head I can't think of any other uses. Since
you're not able to do backwards scans with getmulti, there's really no
advantage at all over stuff into a bitmap: you could never uses it
anywhere requiring order anyway.

I've considered whether it's worthwhile going to other way: getting the
IndexScan executer node to uses getmulti to reduce index AM overhead.
But that requires backward scan support also...

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-07-26 15:59:52 Re: Refactoring the API for amgetmulti
Previous Message andrew 2006-07-26 15:52:33 Re: pgbench enhancements