Don't force creation of the FSM on searches. It will still be created
authorHeikki Linnakangas
Thu, 27 Nov 2008 13:32:26 +0000 (13:32 +0000)
committerHeikki Linnakangas
Thu, 27 Nov 2008 13:32:26 +0000 (13:32 +0000)
as soon as the first page fills up, and is marked as (almost) full,
though.

src/backend/storage/freespace/freespace.c

index 7466ba85cbbe374002eefa2ccb8ef7b6dd0bbb9d..19a9a38e0b6cba0d0571e71becb12189686378e8 100644 (file)
@@ -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))