From 9598afa3b0f7a7fdcf3740173346950b2bd5942c Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Fri, 8 Jul 2011 17:28:27 +0300 Subject: [PATCH] Fix one overflow and one signedness error, caused by the patch to calculate OLDSERXID_MAX_PAGE based on BLCKSZ. MSVC compiler warned about these. --- src/backend/storage/lmgr/predicate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index 3c3a6a9d96..35fbc8f5a2 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -311,7 +311,7 @@ static SlruCtlData OldSerXidSlruCtlData; * transactions and the maximum that SLRU supports. */ #define OLDSERXID_MAX_PAGE Min(SLRU_PAGES_PER_SEGMENT * 0x10000 - 1, \ - (MaxTransactionId + 1) / OLDSERXID_ENTRIESPERPAGE - 1) + (MaxTransactionId) / OLDSERXID_ENTRIESPERPAGE) #define OldSerXidNextPage(page) (((page) >= OLDSERXID_MAX_PAGE) ? 0 : (page) + 1) @@ -767,7 +767,7 @@ OldSerXidPagePrecedesLogically(int p, int q) diff = p - q; if (diff >= ((OLDSERXID_MAX_PAGE + 1) / 2)) diff -= OLDSERXID_MAX_PAGE + 1; - else if (diff < -((OLDSERXID_MAX_PAGE + 1) / 2)) + else if (diff < -((int) (OLDSERXID_MAX_PAGE + 1) / 2)) diff += OLDSERXID_MAX_PAGE + 1; return diff < 0; }