• Thomas Munro's avatar
    Use 64 bit type for BufFileSize(). · aa551830
    Thomas Munro authored
    BufFileSize() can't use off_t, because it's only 32 bits wide on
    some systems.  BufFile objects can have many 1GB segments so the
    total size can exceed 2^31.  The only known client of the function
    is parallel CREATE INDEX, which was reported to fail when building
    large indexes on Windows.
    
    Though this is technically an ABI break on platforms with a 32 bit
    off_t and we might normally avoid back-patching it, the function is
    brand new and thus unlikely to have been discovered by extension
    authors yet, and it's fairly thoroughly broken on those platforms
    anyway, so just fix it.
    
    Defect in 9da0cc35.  Bug #15460.  Back-patch to 11, where this
    function landed.
    
    Author: Thomas Munro
    Reported-by: Paul van der Linden, Pavel Oskin
    Reviewed-by: Peter Geoghegan
    Discussion: https://postgr.es/m/15460-b6db80de822fa0ad%40postgresql.org
    Discussion: https://postgr.es/m/CAHDGBJP_GsESbTt4P3FZA8kMUKuYxjg57XHF7NRBoKnR%3DCAR-g%40mail.gmail.com
    aa551830
logtape.c 33.6 KB