CVSROOT:        /cvsroot
Module name:    pgsql-server
Changes by:     [EMAIL PROTECTED]       03/08/18 22:13:41

Modified files:
        src/backend/executor: execGrouping.c nodeAgg.c nodeSubplan.c 
        src/backend/utils/hash: dynahash.c hashfn.c 
        src/include/executor: executor.h 
        src/include/nodes: execnodes.h 
        src/include/utils: hsearch.h 
        src/test/regress/expected: polymorphism.out 

Log message:
        Improve dynahash.c's API so that caller can specify the comparison function
        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.


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to