From: Heikki Linnakangas Date: Fri, 8 Jul 2011 14:28:27 +0000 (+0300) Subject: Fix one overflow and one signedness error, caused by the patch to calculate X-Git-Tag: REL9_2_BETA1~1428 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9598afa3b0f7a7fdcf3740173346950b2bd5942c;p=thirdparty%2Fpostgresql.git Fix one overflow and one signedness error, caused by the patch to calculate OLDSERXID_MAX_PAGE based on BLCKSZ. MSVC compiler warned about these. --- diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index 3c3a6a9d963..35fbc8f5a2d 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; }