Martijn van Oosterhout <kleptog@svana.org> writes:
> On Sun, Dec 26, 2010 at 08:13:40PM -0500, Tom Lane wrote:
>> [ thinks for a bit... ] One reason for having a different structure
>> would be if we needed to represent abstract semantics for some operators
>> that couldn't be associated with a btree opclass.
> One thing that comes to mind is the operators used for hash indexes,
> namely the hash() function.
The hash opclasses handle that fine. I cannot conceive of any reason
for shoehorning hash functions into btree opclasses.
> With respect to the collation of strings I have thought it useful to be
> able to define a sortkey() function, which would map the input space to
> a 8 byte integer and satisfies the rule:
> sortkey(a) < sortkey(b) implies a < b
I'm pretty dubious about the workability of that one, but again, there
isn't any obvious reason why we'd need a new catalog structure to
support it. If we did want it, it could be an optional support function
in btree opclasses.
regards, tom lane