From: Robert Haas Date: Fri, 17 Jun 2011 17:34:39 +0000 (-0400) Subject: Fix crash in CREATE UNLOGGED TABLE. X-Git-Tag: REL9_1_BETA3~63 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ae31b59512746a2cc397b70b8a05106e7a7f8ed3;p=postgresql 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. --- diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 67a7749a30..e606ac2b9e 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,