Use macros from xlog_internal.h for WAL segment logic in pg_resetwal
authorMichael Paquier <michael@paquier.xyz>
Wed, 5 Oct 2022 05:10:13 +0000 (14:10 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 5 Oct 2022 05:10:13 +0000 (14:10 +0900)
commit9a30e154b35e5bab9df7964785bca707ef74aec8
treea2b93b1db186cb13e4163f190442e3631be327e0
parent9aa58d48f30a0cadfc0f40aad22be91ae7f8c4a8
Use macros from xlog_internal.h for WAL segment logic in pg_resetwal

When scanning for the end of WAL, pg_resetwal has been maintaining its
own internal logic to calculate segment numbers and to parse a WAL
segment name for its timeline and segment number.  The code claimed for
example that XLogFromFileName() cannot be used because it lacks the
possibility of specifying a WAL segment size, which is not the case
since fc49e24, that has made the WAL segment size configurable at
initialization time, extending this routine to do so.

Similarly, this switches one segment number calculation to use
XLByteToSeg() rather than the same logic present in xlog_internal.h.
While on it, switch to TimeLineID in pg_resetwal.c for TLI numbers
parsed from segment names, to be more consistent with
XLogFromFileName().  The maths are exactly the same, but the code gets
simplified.

Author: Bharath Rupireddy
Reviewed-by: Kyotaro Horiguchi
Discussion: https://postgr.es/m/CALj2ACX+E_jnwqH_jmjhNG8BczJTNRTOLpw8K1CB1OcB48MJ8w@mail.gmail.com
src/bin/pg_resetwal/pg_resetwal.c