mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +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:
@ -706,13 +706,7 @@ gistoptions(PG_FUNCTION_ARGS)
|
||||
XLogRecPtr
|
||||
GetXLogRecPtrForTemp(void)
|
||||
{
|
||||
static XLogRecPtr counter = {0, 1};
|
||||
|
||||
counter.xrecoff++;
|
||||
if (counter.xrecoff == 0)
|
||||
{
|
||||
counter.xlogid++;
|
||||
counter.xrecoff++;
|
||||
}
|
||||
static XLogRecPtr counter = 1;
|
||||
counter++;
|
||||
return counter;
|
||||
}
|
||||
|
Reference in New Issue
Block a user