• Tom Lane's avatar
    Fix some issues in new hashtable size calculations in nodeHash.c. · a31e64d0
    Tom Lane authored
    Limit the size of the hashtable pointer array to not more than
    MaxAllocSize, per reports from Kouhei Kaigai and others of "invalid memory
    alloc request size" failures.  There was discussion of allowing the array
    to get larger than that by using the "huge" palloc API, but so far no proof
    that that is actually a good idea, and at this point in the 9.5 cycle major
    changes from old behavior don't seem like the way to go.
    
    Fix a rather serious secondary bug in the new code, which was that it
    didn't ensure nbuckets remained a power of 2 when recomputing it for the
    multiple-batch case.
    
    Clean up sloppy division of labor between ExecHashIncreaseNumBuckets and
    its sole call site.
    a31e64d0
hashjoin.h 8.26 KB