• Teodor Sigaev's avatar
    Allow usage of huge maintenance_work_mem for GIN build. · 30bb26b5
    Teodor Sigaev authored
    Currently, in-memory posting list during GIN build process is limited 1GB
    because of using repalloc. The patch replaces call of repalloc to repalloc_huge.
    It increases limit of posting list from 180 millions
    (1GB / sizeof(ItemPointerData)) to 4 billions limited by maxcount/count fields
    in GinEntryAccumulator and subsequent calls. Check added.
    
    Also, fix accounting of allocatedMemory during build to prevent integer
    overflow with maintenance_work_mem > 4GB.
    
    Robert Abraham <robert.abraham86@googlemail.com> with additions by me
    30bb26b5
ginfast.c 23.5 KB