Re: Pluggable Indexes (was Re: rmgr hooks (v2)) - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Pluggable Indexes (was Re: rmgr hooks (v2))
Date
Msg-id 1232560792.2327.566.camel@ebony.2ndQuadrant
Whole thread Raw
In response to Re: Pluggable Indexes (was Re: rmgr hooks (v2))  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
On Wed, 2009-01-21 at 19:13 +0200, Heikki Linnakangas wrote:
> Simon Riggs wrote:
> > Why do we have 12+ pluggable languages, but we're not allowed to write
> > pluggable indexes? Whatever argument you put against it being "too hard"
> > or dangerous or whatever *also* applies to languages. Yet experience
> > shows pluggability has resulted in a variety of robust and useful
> > language types, some that might not have been predicted (PL/Proxy, PL/R
> > etc). They cover a variety of users and situations.
> 
> Languages are quite different. People already know language X, so they 
> want to use it for stored procedures too. Or they want to interface 
> other libraries or functionality available in language X. There's no 
> such argument with indexams. Also, PL handlers are not as tightly 
> integrated into the rest of the system, no need for low-level page 
> access, for example, which is why it's easier to have a generic 
> interface for them. There's also less issues with concurrency and 
> version-compatibility.

Yes, they allow people's external experience to be brought to Postgres.
Which includes index experience.

You're assuming that indexes must have concurrency and are therefore
difficult to design. Concurrency isn't a requirement in many cases. You
just need to store tids and feed them back. Indexes don't have to use
database pages even. Robustness is a much more certain requirement,
since rebuilding indexes from scratch may not even be practical in some
cases.

-- Simon Riggs           www.2ndQuadrant.comPostgreSQL Training, Services and Support



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [SQL] array_to_string(anyarray, text) that was working in 8.1 is not working in 8.3
Next
From: Robert Haas
Date:
Subject: Re: [PATCH] EnableDisableTrigger Cleanup & Questions