1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-16 06:01:02 +03:00

Remove extra copying of TupleDescs for heap_create_with_catalog

Some callers were creating copies of tuple descriptors to pass to that
function, stating in code comments that it was necessary because it
modified the passed descriptor.  Code inspection reveals this not to be
true, and indeed not all callers are passing copies in the first place.
So remove the extra ones and the misleading comments about this behavior
as well.
This commit is contained in:
Alvaro Herrera
2011-06-17 09:43:32 -04:00
parent bddc35ac66
commit a40a5d9468
2 changed files with 4 additions and 13 deletions

View File

@ -2394,7 +2394,6 @@ OpenIntoRel(QueryDesc *queryDesc)
Oid tablespaceId;
Datum reloptions;
Oid intoRelationId;
TupleDesc tupdesc;
DR_intorel *myState;
static char *validnsps[] = HEAP_RELOPT_NAMESPACES;
@ -2467,9 +2466,6 @@ OpenIntoRel(QueryDesc *queryDesc)
false);
(void) heap_reloptions(RELKIND_RELATION, reloptions, true);
/* Copy the tupdesc because heap_create_with_catalog modifies it */
tupdesc = CreateTupleDescCopy(queryDesc->tupDesc);
/* Now we can actually create the new relation */
intoRelationId = heap_create_with_catalog(intoName,
namespaceId,
@ -2478,7 +2474,7 @@ OpenIntoRel(QueryDesc *queryDesc)
InvalidOid,
InvalidOid,
GetUserId(),
tupdesc,
queryDesc->tupDesc,
NIL,
RELKIND_RELATION,
into->rel->relpersistence,
@ -2492,8 +2488,6 @@ OpenIntoRel(QueryDesc *queryDesc)
allowSystemTableMods);
Assert(intoRelationId != InvalidOid);
FreeTupleDesc(tupdesc);
/*
* Advance command counter so that the newly-created relation's catalog
* tuples will be visible to heap_open.