On Thu, 16 Feb 2006, Mark Lewis wrote:
> On Thu, 2006-02-16 at 17:51 -0500, Greg Stark wrote:
>>>> Data types which could probably provide a useful function for f would be
>>>> int2, int4, oid, and possibly int8 and text (at least for SQL_ASCII).
>>
>> How exactly do you imagine doing this for text?
>>
>> I could see doing it for char(n)/varchar(n) where n<=4 in SQL_ASCII though.
>
>
> In SQL_ASCII, just take the first 4 characters (or 8, if using a 64-bit
> sortKey as elsewhere suggested). The sorting key doesn't need to be a
> one-to-one mapping.
that would violate your second contraint ( f(a)==f(b) iff (a==b) )
if you could drop that constraint (the cost of which would be extra 'real'
compares within a bucket) then a helper function per datatype could work
as you are talking.
David Lang