Re: Universal B-tree

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Daniel Oliveira <danielmarquesoliveira(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Universal B-tree
Date: 2010-08-09 16:54:35
Message-ID: AANLkTimoz_ewPDO1cHTkzG+vMvBCY0YSXxHQi4aQrqo8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 9, 2010 at 5:31 PM, Daniel Oliveira
<danielmarquesoliveira(at)gmail(dot)com> wrote:
> I don't need to change B-tree estructure. I just need integrate my encode
> function that transforms multiple keys into one key by bit-interleaving and
> to acess elements given several intervals (range search).

You could build a "expression" index on the function which will build
a regular btree. Then any range clause on a similar expression in the
query would be able to use the index. Postgres is capable of detecting
multiple range clauses that can use one or more indexes and combine
the results. It might not be perfect for your use case, being a
general purpose tool.

I'm not sure how feasible it would be to implement a special purpose
case that matches your needs. Perhaps a special index type and index
access method similar to gist "tsquery" data type. But that's a lot
more work and a lot more C coding.

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2010-08-09 16:54:38 Re: patch: to_string, to_array functions
Previous Message Bruce Momjian 2010-08-09 16:38:00 Re: ERROR: argument to pg_get_expr() must come from system catalogs