Fix off-by-one in XLogRecordMaxSize check.

Noah Misch <noah@leadboat.com>

Commit: c36b636096a1aac4fd5d7c8c5d11ed2bb6349d0f
Author: Noah Misch <noah@leadboat.com>
Date: 2023-08-12T21:37:05Z
Releases: 17.0
Fix off-by-one in XLogRecordMaxSize check.

pg_logical_emit_message(false, '_', repeat('x', 1069547465)) failed with
self-contradictory message "WAL record would be 1069547520 bytes (of
maximum 1069547520 bytes)".  There's no particular benefit from allowing
or denying one byte in either direction; XLogRecordMaxSize could rise a
few megabytes without trouble.  Hence, this is just for cleanliness.
Back-patch to v16, where this check first appeared.

Files

PathChange+/−
src/backend/access/transam/xloginsert.c modified +1 −1