• Tom Lane's avatar
    Improve dynahash.c's API so that caller can specify the comparison function · 80860c32
    Tom Lane authored
    as well as the hash function (formerly the comparison function was hardwired
    as memcmp()).  This makes it possible to eliminate the special-purpose
    hashtable management code in execGrouping.c in favor of using dynahash to
    manage tuple hashtables; which is a win because dynahash knows how to expand
    a hashtable when the original size estimate was too small, whereas the
    special-purpose code was too stupid to do that.  (See recent gripe from
    Stephan Szabo about poor performance when hash table size estimate is way
    off.)  Free side benefit: when using string_hash, the default comparison
    function is now strncmp() instead of memcmp().  This should eliminate some
    part of the overhead associated with larger NAMEDATALEN values.
    80860c32
hsearch.h 6.65 KB