From fcff4bd312bd70bfa01295a7c5e4db959ae105c8 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Thu, 12 Dec 2013 12:39:57 -0500 Subject: [PATCH] Fix ancient docs/comments thinko: XID comparison is mod 2^32, not 2^31. Pointed out by Gianni Ciolli. --- doc/src/sgml/maintenance.sgml | 2 +- src/backend/access/transam/transam.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index e9b8f97ae53..3577418a162 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -401,7 +401,7 @@ as <literal>FrozenXID</>. This XID does not follow the normal XID comparison rules and is always considered older than every normal XID. Normal XIDs are - compared using modulo-2<superscript>31</> arithmetic. This means + compared using modulo-2<superscript>32</> arithmetic. This means that for every normal XID, there are two billion XIDs that are <quote>older</> and two billion that are <quote>newer</>; another way to say it is that the normal XID space is circular with no diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c index a7214cf34de..833f3cd1cc7 100644 --- a/src/backend/access/transam/transam.c +++ b/src/backend/access/transam/transam.c @@ -304,7 +304,7 @@ TransactionIdPrecedes(TransactionId id1, TransactionId id2) { /* * If either ID is a permanent XID then we can just do unsigned - * comparison. If both are normal, do a modulo-2^31 comparison. + * comparison. If both are normal, do a modulo-2^32 comparison. */ int32 diff; -- GitLab