postgres.git / summary / log / commit / refs

commit    ae31b59512746a2cc397b70b8a05106e7a7f8ed3
Author:   Robert Haas <rhaas@postgresql.org>
Date:     Fri Jun 17 17:34:39 2011 +0000
First released in: 9.2.0, 9.1.0

    Fix crash in CREATE UNLOGGED TABLE.
    
    The code that created the init fork neglected to make sure that the
    relation was open at the smgr level before attempting to invoke smgr.
    This didn't happen every time; only when the relcache entry was rebuilt
    along the way.
    
    Per report from Garick Hamlin.


src/backend/catalog/heap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 67a7749a30b..e606ac2b9ed 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1295,6 +1295,7 @@ heap_create_with_catalog(const char *relname, { Assert(relkind == RELKIND_RELATION || relkind == RELKIND_TOASTVALUE); + RelationOpenSmgr(new_rel_desc); smgrcreate(new_rel_desc->rd_smgr, INIT_FORKNUM, false); if (XLogIsNeeded()) log_smgrcreate(&new_rel_desc->rd_smgr->smgr_rnode.node, [parent: a3903f1bf8e3]