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.
This commit is contained in:
parent
c3cee16fe8
commit
4d6ee26171
@ -8,7 +8,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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:
|
* NOTES:
|
||||||
@ -638,13 +638,8 @@ fsm_search(Relation rel, uint8 min_cat)
|
|||||||
Buffer buf;
|
Buffer buf;
|
||||||
uint8 max_avail = 0;
|
uint8 max_avail = 0;
|
||||||
|
|
||||||
/*
|
/* Read the FSM page. */
|
||||||
* Read the FSM page. The root page is created if it doesn't exist
|
buf = fsm_readbuf(rel, addr, false);
|
||||||
* 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));
|
|
||||||
|
|
||||||
/* Search within the page */
|
/* Search within the page */
|
||||||
if (BufferIsValid(buf))
|
if (BufferIsValid(buf))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user