Re: knngist - 0.8

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Martijn van Oosterhout <kleptog@svana.org>
Cc: Hitoshi Harada <umi.tanuki@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Teodor Sigaev <teodor@sigaev.ru>, Pgsql Hackers <pgsql-hackers@postgresql.org>, Oleg Bartunov <oleg@sai.msu.su>
Date: 2010-12-28T16:12:40Z
Lists: pgsql-hackers
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