Re: 64-bit hash function for hstore and citext data type - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: 64-bit hash function for hstore and citext data type
Date
Msg-id 60b1fd3b-7332-40f0-7e7f-f2f04f777747@2ndquadrant.com
Whole thread Raw
In response to 64-bit hash function for hstore and citext data type  (amul sul <sulamul@gmail.com>)
Responses Re: 64-bit hash function for hstore and citext data type  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-hackers
On 9/26/18 12:20 PM, amul sul wrote:
> Hi all,
> 
> Commit[1] has added 64-bit hash functions for core data types and in the same
> discussion thread[2] Robert Haas suggested to have the similar extended hash
> function for hstore and citext data type. Attaching patch proposes the same.
> 

I wonder if the hstore hash function is actually correct. I see it 
pretty much just computes hash on the varlena representation. The 
important question is - can there be two different encodings for the 
same hstore value? If that's possible, those two versions would end up 
with a different hash value, breaking the hashing scheme.

I'm not very familiar with hstore internals so I don't know if that's 
actually possible, but if you look at hstore_cmp, that seems to be far 
more complex than just comparing the varlena values directly.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Tid scan improvements
Next
From: Nikolay Shaplov
Date:
Subject: Re: Add extension options to control TAP and isolation tests