From 15269b59552bca7f91c93367a0177d1c47a48762 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 8 Aug 2005 19:44:22 +0000
Subject: [PATCH] Avoid useless loop overhead in AtEOXact routines when the
 backend is compiled with USE_ASSERT_CHECKING but is running with
 assert_enabled false.

---
 src/backend/storage/buffer/bufmgr.c   | 15 +++++++++------
 src/backend/storage/buffer/localbuf.c | 13 ++++++++-----
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 4633ddef464..f148a5ea005 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.191 2005/08/08 03:11:44 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.192 2005/08/08 19:44:22 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1067,15 +1067,18 @@ void
 AtEOXact_Buffers(bool isCommit)
 {
 #ifdef USE_ASSERT_CHECKING
-	int			i;
-
-	for (i = 0; i < NBuffers; i++)
+	if (assert_enabled)
 	{
-		Assert(PrivateRefCount[i] == 0);
+		int			i;
+
+		for (i = 0; i < NBuffers; i++)
+		{
+			Assert(PrivateRefCount[i] == 0);
+		}
 	}
+#endif
 
 	AtEOXact_LocalBuffers(isCommit);
-#endif
 
 	/* Make sure we reset the strategy hint in case VACUUM errored out */
 	StrategyHintVacuum(false);
diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c
index a2604dcf550..6ac0b543ae3 100644
--- a/src/backend/storage/buffer/localbuf.c
+++ b/src/backend/storage/buffer/localbuf.c
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/buffer/localbuf.c,v 1.67 2005/05/29 04:23:04 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/buffer/localbuf.c,v 1.68 2005/08/08 19:44:22 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -308,11 +308,14 @@ void
 AtEOXact_LocalBuffers(bool isCommit)
 {
 #ifdef USE_ASSERT_CHECKING
-	int			i;
-
-	for (i = 0; i < NLocBuffer; i++)
+	if (assert_enabled)
 	{
-		Assert(LocalRefCount[i] == 0);
+		int			i;
+
+		for (i = 0; i < NLocBuffer; i++)
+		{
+			Assert(LocalRefCount[i] == 0);
+		}
 	}
 #endif
 }
-- 
GitLab