• Tom Lane's avatar
    Fix building of large (bigger than shared_buffers) hash indexes. · 8cf739de
    Tom Lane authored
    When the index is predicted to need more than NBuffers buckets,
    CREATE INDEX attempts to sort the index entries by hash key before
    insertion, so as to reduce thrashing.  This code path got broken by
    commit 9f03ca91, which overlooked that _hash_form_tuple() is not
    just an alias for index_form_tuple().  The index got built anyway, but
    with garbage data, so that searches for pre-existing tuples always
    failed.  Fix by refactoring to separate construction of the indexable
    data from calling index_form_tuple().
    
    Per bug #14210 from Daniel Newman.  Back-patch to 9.5 where the
    bug was introduced.
    
    Report: <20160623162507.17237.39471@wrigleys.postgresql.org>
    8cf739de
hash.h 13.5 KB