Re: PATCH: CITEXT 2.0 - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: PATCH: CITEXT 2.0
Date
Msg-id 20080703165315.GB18252@alvh.no-ip.org
Whole thread Raw
In response to Re: PATCH: CITEXT 2.0  ("David E. Wheeler" <david@kineticode.com>)
Responses Re: PATCH: CITEXT 2.0  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-hackers
David E. Wheeler wrote:
> On Jul 3, 2008, at 00:19, Teodor Sigaev wrote:
>
>>> Hash opclass is 5-times simpler that btree one :)
>>
>> CREATE FUNCTION citext_hash(mchar)
>> RETURNS int4
>> AS 'MODULE_PATHNAME'
>> LANGUAGE C IMMUTABLE RETURNS NULL ON NULL INPUT;
>>
>> CREATE OPERATOR CLASS citext_ops
>> DEFAULT FOR TYPE mchar USING hash AS
>>              OPERATOR        1       =  (citext, citext),
>>              FUNCTION        1       citext_hash(citext);
>
> Thanks. What would citext_hash() look like? I don't see a text_hash() to 
> borrow from anywhere in src/.

See hash_any().  I assume the difficulty is making sure that
hash("FOO") = hash("foo") ...

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: A Windows x64 port of PostgreSQL
Next
From: Dean Rasheed
Date:
Subject: Re: Auto-explain patch