diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-02-03 05:46:37 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-02-03 05:46:37 +0000 |
commit | 47c5b8f5588da67a95dca8cb14b2bc1b7f291e15 (patch) | |
tree | d7735b5fdb640f71f4e482ba8771481f38dd8e92 /src/backend/parser/parse_utilcmd.c | |
parent | 45c88a55c2845a8f67934fa17ac9256f3a7d799f (diff) | |
download | postgresql-47c5b8f5588da67a95dca8cb14b2bc1b7f291e15.tar.gz postgresql-47c5b8f5588da67a95dca8cb14b2bc1b7f291e15.zip |
Fix unwarranted assumption that a cached rowtype would stick around
for the lifespan of the CreateStmt. Per buildfarm member jaguar.
Diffstat (limited to 'src/backend/parser/parse_utilcmd.c')
-rw-r--r-- | src/backend/parser/parse_utilcmd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index bf455701e33..f2b29d327c7 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -19,7 +19,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/parser/parse_utilcmd.c,v 2.37 2010/01/28 23:21:12 petere Exp $ + * $PostgreSQL: pgsql/src/backend/parser/parse_utilcmd.c,v 2.38 2010/02/03 05:46:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -822,10 +822,10 @@ transformOfType(ParseState *pstate, CreateStmtContext *cxt, TypeName *ofTypename tupdesc = lookup_rowtype_tupdesc(ofTypeId, -1); for (i = 0; i < tupdesc->natts; i++) { - ColumnDef *n = makeNode(ColumnDef); Form_pg_attribute attr = tupdesc->attrs[i]; + ColumnDef *n = makeNode(ColumnDef); - n->colname = NameStr(attr->attname); + n->colname = pstrdup(NameStr(attr->attname)); n->typeName = makeTypeNameFromOid(attr->atttypid, attr->atttypmod); n->constraints = NULL; n->is_local = true; |