Re: GiST Comparing IndexTuples/Datums - Mailing list pgsql-hackers

From Teodor Sigaev
Subject Re: GiST Comparing IndexTuples/Datums
Date
Msg-id 45D16E88.40207@sigaev.ru
Whole thread Raw
In response to Re: GiST Comparing IndexTuples/Datums  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: GiST Comparing IndexTuples/Datums  ("Matthew Campbell" <mtthw.cmpbll@gmail.com>)
List 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@sigaev.ru
  WWW: http://www.sigaev.ru/
 


pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: HOT for PostgreSQL 8.3
Next
From: "Niels Breet"
Date:
Subject: Re: OT: IRC nick to real world mapping