<para>
There are five methods that an index operator class for
- <acronym>GiST</acronym> must provide, and five that are optional.
+ <acronym>GiST</acronym> must provide, and six that are optional.
Correctness of the index is ensured
by proper implementation of the <function>same</function>, <function>consistent</function>
and <function>union</function> methods, while efficiency (size and speed) of the
searches). The optional ninth method <function>fetch</function> is needed if the
operator class wishes to support index-only scans, except when the
<function>compress</function> method is omitted. The optional tenth method
- <function>options</function> is needed if the operator class provides
- the user-specified parameters.
- The <function>sortsupport</function> method is also optional and is used to
+ <function>options</function> is needed if the operator class has
+ user-specified parameters.
+ The optional eleventh method <function>sortsupport</function> is used to
speed up building a <acronym>GiST</acronym> index.
</para>
</row>
<row>
<entry>
- Defines a set of options that are specific to this operator class
+ Define options that are specific to this operator class
(optional)
</entry>
<entry>5</entry>
</row>
<row>
<entry>
- Defines a set of options that are specific to this operator class
+ Define options that are specific to this operator class
(optional)
</entry>
<entry>3</entry>
</table>
<para>
- GiST indexes have ten support functions, three of which are optional,
+ GiST indexes have eleven support functions, six of which are optional,
as shown in <xref linkend="xindex-gist-support-table"/>.
(For more information see <xref linkend="gist"/>.)
</para>
<row>
<entry><function>compress</function></entry>
<entry>compute a compressed representation of a key or value
- to be indexed</entry>
+ to be indexed (optional)</entry>
<entry>3</entry>
</row>
<row>
<entry><function>decompress</function></entry>
<entry>compute a decompressed representation of a
- compressed key</entry>
+ compressed key (optional)</entry>
<entry>4</entry>
</row>
<row>
<entry>6</entry>
</row>
<row>
- <entry><function>equal</function></entry>
+ <entry><function>same</function></entry>
<entry>compare two keys and return true if they are equal</entry>
<entry>7</entry>
</row>
</row>
<row>
<entry><function>options</function></entry>
- <entry>
- Defines a set of options that are specific to this operator class
- (optional)
- </entry>
+ <entry>define options that are specific to this operator class
+ (optional)</entry>
<entry>10</entry>
</row>
+ <row>
+ <entry><function>sortsupport</function></entry>
+ <entry>provide a sort comparator to be used in fast index builds
+ (optional)</entry>
+ <entry>11</entry>
+ </row>
</tbody>
</tgroup>
</table>
</row>
<row>
<entry><function>options</function></entry>
- <entry>
- Defines a set of options that are specific to this operator class
- (optional)
- </entry>
+ <entry>define options that are specific to this operator class
+ (optional)</entry>
<entry>6</entry>
</row>
</tbody>
<row>
<entry><function>options</function></entry>
<entry>
- Defines a set of options that are specific to this operator class
+ define options that are specific to this operator class
(optional)
</entry>
<entry>7</entry>
<row>
<entry><function>options</function></entry>
<entry>
- Defines a set of options that are specific to this operator class
+ define options that are specific to this operator class
(optional)
</entry>
<entry>5</entry>