From 0ab9d1c4b31622e9176472b4276f3e9831e3d6ba Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Sun, 24 Jun 2012 18:51:37 +0300 Subject: 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. --- src/backend/access/gist/gistutil.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src/backend/access/gist/gistutil.c') diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c index 8039b5d569c..df1e2e396f2 100644 --- a/src/backend/access/gist/gistutil.c +++ b/src/backend/access/gist/gistutil.c @@ -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; } -- cgit v1.2.3