Small fix for ALTER TABLE xxx* ADD COLUMN ...

Inherited child tables must not be open during creation of TOAST table

Jan
This commit is contained in:
Jan Wieck 2000-07-05 13:50:59 +00:00
parent 93e1f5de0b
commit 972604ec60

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.85 2000/07/05 13:22:23 wieck Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.86 2000/07/05 13:50:59 wieck Exp $
* *
* NOTES * NOTES
* The PerformAddAttribute() code, like most of the relation * The PerformAddAttribute() code, like most of the relation
@ -340,13 +340,17 @@ AlterTableAddColumn(const char *relationName,
foreach(child, children) foreach(child, children)
{ {
Oid childrelid = lfirsti(child); Oid childrelid = lfirsti(child);
char *childrelname;
if (childrelid == myrelid) if (childrelid == myrelid)
continue; continue;
rel = heap_open(childrelid, AccessExclusiveLock); rel = heap_open(childrelid, AccessExclusiveLock);
AlterTableAddColumn(RelationGetRelationName(rel), childrelname = pstrdup(RelationGetRelationName(rel));
false, colDef);
heap_close(rel, AccessExclusiveLock); heap_close(rel, AccessExclusiveLock);
AlterTableAddColumn(childrelname, false, colDef);
pfree(childrelname);
} }
} }
} }