There are seven methods that an index operator class for GiST must provide:
Given a predicate p on a tree page, and a user query, q, this method will return false if it is certain that both p and q cannot be true for a given data item.
This method consolidates information in the tree. Given a set of entries, this function generates a new predicate that is true for all the entries.
Converts the data item into a format suitable for physical storage in an index page.
The reverse of the
compress method. Converts the index
representation of the data item into a format that can be
manipulated by the database.
Returns a value indicating the "cost" of inserting the new entry into a
particular branch of the tree. items will be inserted down
the path of least
the tree. Values returned by
penalty should be non-negative. If a
negative value is returned, it will be treated as zero.
When a page split is necessary, this function decides which entries on the page are to stay on the old page, and which are to move to the new page.
Returns true if two entries are identical, false otherwise.