Re: GiST Comparing IndexTuples/Datums

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Matthew Campbell <mtthw(dot)cmpbll(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: GiST Comparing IndexTuples/Datums
Date: 2007-02-13 07:53:44
Message-ID: 45D16E88.40207@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> indexes, then it must use operator number so-and-so for equality. But
> there are lots of GiST opclasses that don't include equality at all; we
> can't break that case.

There is a GiST support function for equality of keys, in btree_gist it's named
as gbt_*_same. Equality function has support number 7 and is used for stored keys.

But the real issue in unique GiST index is unique :). First, the algorithm of
insertion doesn't compare indexed keys on leaf page at all. Values on the same
page are compared only when page is splitting (picksplit support method).
Second, GiST implementation supports only unordered trees (btree_gist is a some
kind of emulation) and it cannot guarantee that equal keys will be close in
index. That's related to picksplit and gistpenalty method problem/optimization
and data set.

--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Niels Breet 2007-02-13 08:10:40 Re: OT: IRC nick to real world mapping
Previous Message Hannu Krosing 2007-02-13 07:25:02 Re: HOT for PostgreSQL 8.3