• Heikki Linnakangas's avatar
    Don't waste the last segment of each 4GB logical log file. · dfda6eba
    Heikki Linnakangas authored
    The comments claimed that wasting the last segment made it easier to do
    calculations with XLogRecPtrs, because you don't have problems representing
    last-byte-position-plus-1 that way. In my experience, however, it only made
    things more complicated, because the there was two ways to represent the
    boundary at the beginning of a logical log file: logid = n+1 and xrecoff = 0,
    or as xlogid = n and xrecoff = 4GB - XLOG_SEG_SIZE. Some functions were
    picky about which representation was used.
    
    Also, use a 64-bit segment number instead of the log/seg combination, to
    point to a certain WAL segment. We assume that all platforms have a working
    64-bit integer type nowadays.
    
    This is an incompatible change in WAL format, so bumping WAL version number.
    dfda6eba
pg_receivexlog.c 10.3 KB