pg_resetwal: Corrections around -c option

The present pg_resetwal code hardcodes the minimum value for -c as 2,
which is FrozenTransactionId, but it's not clear why that is allowed.
After some research, it was probably a mistake in the original patch.
Change it to FirstNormalTransactionId, which matches other xid-related
options in pg_resetwal.

Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://www.postgresql.org/message-id/flat/d09f0e91-8757-642b-1a92-da9a52f5589a%40eisentraut.org
This commit is contained in:
Peter Eisentraut 2023-10-10 08:58:50 +02:00
parent 1d91d24d9a
commit e3679bc1c3
1 changed files with 6 additions and 6 deletions

View File

@ -211,13 +211,13 @@ main(int argc, char *argv[])
exit(1);
}
if (set_oldest_commit_ts_xid < 2 &&
set_oldest_commit_ts_xid != 0)
pg_fatal("transaction ID (-c) must be either 0 or greater than or equal to 2");
if (set_oldest_commit_ts_xid < FirstNormalTransactionId &&
set_oldest_commit_ts_xid != InvalidTransactionId)
pg_fatal("transaction ID (-c) must be either %u or greater than or equal to %u", InvalidTransactionId, FirstNormalTransactionId);
if (set_newest_commit_ts_xid < 2 &&
set_newest_commit_ts_xid != 0)
pg_fatal("transaction ID (-c) must be either 0 or greater than or equal to 2");
if (set_newest_commit_ts_xid < FirstNormalTransactionId &&
set_newest_commit_ts_xid != InvalidTransactionId)
pg_fatal("transaction ID (-c) must be either %u or greater than or equal to %u", InvalidTransactionId, FirstNormalTransactionId);
break;
case 'o':