mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
Replace XLogRecPtr struct with a 64-bit integer.
This simplifies code that needs to do arithmetic on XLogRecPtrs. To avoid changing on-disk format of data pages, the LSN on data pages is still stored in the old format. That should keep pg_upgrade happy. However, we have XLogRecPtrs embedded in the control file, and in the structs that are sent over the replication protocol, so this changes breaks compatibility of pg_basebackup and server. I didn't do anything about this in this patch, per discussion on -hackers, the right thing to do would to be to change the replication protocol to be architecture-independent, so that you could use a newer version of pg_receivexlog, for example, against an older server version.
This commit is contained in:
@@ -333,8 +333,7 @@ MarkAsPreparing(TransactionId xid, const char *gid,
|
||||
|
||||
gxact->prepared_at = prepared_at;
|
||||
/* initialize LSN to 0 (start of WAL) */
|
||||
gxact->prepare_lsn.xlogid = 0;
|
||||
gxact->prepare_lsn.xrecoff = 0;
|
||||
gxact->prepare_lsn = 0;
|
||||
gxact->owner = owner;
|
||||
gxact->locking_xid = xid;
|
||||
gxact->valid = false;
|
||||
|
||||
Reference in New Issue
Block a user