Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/backend/distributed/commands/alter_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -1353,6 +1353,7 @@ CreateTableConversion(TableConversionParameters *params)
}


Oid relam = relation->rd_rel->relam;
relation_close(relation, NoLock);
con->distributionKey =
BuildDistributionKeyFromColumnName(con->relationId, con->distributionColumn,
Expand All @@ -1362,14 +1363,14 @@ CreateTableConversion(TableConversionParameters *params)
if (!PartitionedTable(con->relationId) && !IsForeignTable(con->relationId))
{
HeapTuple amTuple = SearchSysCache1(AMOID, ObjectIdGetDatum(
relation->rd_rel->relam));
relam));
if (!HeapTupleIsValid(amTuple))
{
ereport(ERROR, (errmsg("cache lookup failed for access method %d",
relation->rd_rel->relam)));
relam)));
}
Form_pg_am amForm = (Form_pg_am) GETSTRUCT(amTuple);
con->originalAccessMethod = NameStr(amForm->amname);
con->originalAccessMethod = pstrdup(NameStr(amForm->amname));
ReleaseSysCache(amTuple);
}

Expand Down
3 changes: 2 additions & 1 deletion src/backend/distributed/commands/index.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ PreprocessIndexStmt(Node *node, const char *createIndexCommand,
namespaceName);
}

Oid relationOid = relation->rd_id;
table_close(relation, NoLock);

Oid relationId = CreateIndexStmtGetRelationId(createIndexStatement);
Expand All @@ -202,7 +203,7 @@ PreprocessIndexStmt(Node *node, const char *createIndexCommand,
* it on a copy not to interfere with standard process utility.
*/
IndexStmt *copyCreateIndexStatement =
transformIndexStmt(relation->rd_id, copyObject(createIndexStatement),
transformIndexStmt(relationOid, copyObject(createIndexStatement),
createIndexCommand);

/* ensure we copy string into proper context */
Expand Down
3 changes: 2 additions & 1 deletion src/backend/distributed/utils/multi_partitioning_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,11 +331,12 @@ FixPartitionShardIndexNames(Oid relationId, Oid parentIndexOid)
}
else
{
char *relname = pstrdup(RelationGetRelationName(relation));
relation_close(relation, NoLock);
ereport(ERROR, (errmsg("Fixing shard index names is only applicable to "
"partitioned tables or partitions, "
"and \"%s\" is neither",
RelationGetRelationName(relation))));
relname)));
}

CreateFixPartitionShardIndexNames(parentRelationId,
Expand Down
Loading