Hash support for row types - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Hash support for row types
Date
Msg-id 38eccd35-4e2d-6767-1b3c-dada1eac3124@2ndquadrant.com
Whole thread Raw
Responses Re: Hash support for row types  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
In [0] it was discussed that hash support for row types/record would be 
handy.  So I implemented that.

The implementation hashes each field and combines the hash values.  Most 
of the code structure can be borrowed from the record comparison 
functions/btree support.  To combine the hash values, I adapted the code 
from the array hashing functions.  (The hash_combine()/hash_combine64() 
functions also looked sensible, but they don't appear to work in a way 
that satisfies the hash_func regression test.  Could be documented better.)

The main motivation is to support UNION [DISTINCT] as discussed in [0], 
but this also enables other hash-related functionality such as hash 
joins (as one regression test accidentally revealed) and hash partitioning.


[0]: 

https://www.postgresql.org/message-id/flat/52beaf44-ccc3-0ba1-45c7-74aa251cd6ab%402ndquadrant.com#9559845e0ee2129c483b745b9843c571

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

Attachment

pgsql-hackers by date:

Previous
From: Dmitry Shulga
Date:
Subject: Re: Reduce the time required for a database recovery from archive.
Next
From: Ajin Cherian
Date:
Subject: Re: Track statistics for streaming of in-progress transactions