From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Thu, 27 Nov 2008 13:32:26 +0000 (+0000)
Subject: Don't force creation of the FSM on searches. It will still be created
X-Git-Tag: REL8_4_BETA1~620
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4d6ee261717525210897255037869e3ff9a49210;p=postgresql

Don't force creation of the FSM on searches. It will still be created
as soon as the first page fills up, and is marked as (almost) full,
though.
---

diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7466ba85cb..19a9a38e0b 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.68 2008/11/26 17:08:57 heikki Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.69 2008/11/27 13:32:26 heikki Exp $
  *
  *
  * NOTES:
@@ -638,13 +638,8 @@ fsm_search(Relation rel, uint8 min_cat)
 		Buffer buf;
 		uint8 max_avail = 0;
 
-		/*
-		 * Read the FSM page. The root page is created if it doesn't exist
-		 * yet, to save future searchers the effort of having to call
-		 * smgrnblocks() in fsm_readbuf(), only to see that the FSM is
-		 * completely empty.
-		 */
-		buf = fsm_readbuf(rel, addr, (addr.level != FSM_ROOT_LEVEL));
+		/* Read the FSM page. */
+		buf = fsm_readbuf(rel, addr, false);
 
 		/* Search within the page */
 		if (BufferIsValid(buf))