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.
This commit is contained in:
Robert Haas 2011-06-17 13:34:39 -04:00
parent a3903f1bf8
commit ae31b59512

View File

@ -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,