If people have GIST TODOs, please post them.
---------------------------------------------------------------------------
Teodor Sigaev wrote:
> About page splitting algorithm in GiST in multikey case. For the beginning, page
> is splitted by calling pickSplit method of key of first column (pickSplit method
> is defined for opclass and it is a user function), then it try to find equal
> values of first column in left and right pages ( gist.c lines 1264-1901 ). If
> it is, then GiST core will try to resort tuples with first equal keys between
> left and right pages using penalty method for second and higher column's key. If
> it's not, it leave pages untouched. But unions for parent page of second and
> higher column's keys will be formed.
>
> So, if index is defined as 'using gist (a,b,c)' then, in principle, GiST index
> can speed up queries like 'a=V1 and c=V2'. But it will not usable for queries
> ( b=V3 and c=V2 ). By the way, instead of '=' operation may be used other
> operations. Number of supported operations by GiST is indefinite unlike, for
> example, btree which supported only five: <, <=, =, =>, >.
>
>
>
> --
> Teodor Sigaev E-mail: teodor@sigaev.ru
> WWW: http://www.sigaev.ru/
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073