Small improvements for allocation logic in ginHeapTupleFastCollect().
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 19 Dec 2018 16:41:36 +0000 (11:41 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 19 Dec 2018 16:41:36 +0000 (11:41 -0500)
commitc6e394c1a2ae641724d285ce0b043b753406dbbd
treeb959667903bb74ff52db853c5482a27b0d83e243
parent639924249c8a5e1929a0c74ab4ae15d18683e7fa
Small improvements for allocation logic in ginHeapTupleFastCollect().

Avoid repetitive calls to repalloc() when the required size of the
collector array grows more than 2x in one call.  Also ensure that the
array size is a power of 2 (since palloc will probably consume a power
of 2 anyway) and doesn't start out very small (which'd likely just lead
to extra repallocs).

David Rowley, tweaked a bit by me

Discussion: https://postgr.es/m/CAKJS1f8vn-iSBE8PKeVHrnhvyjRNYCxguPFFY08QLYmjWG9hPQ@mail.gmail.com
src/backend/access/gin/ginfast.c