mirror of https://github.com/citusdata/citus.git
commit
09e3d5fd47
|
@ -317,7 +317,7 @@ DropShards(Oid relationId, char *schemaName, char *relationName,
|
|||
ShardInterval *shardInterval = (ShardInterval *) lfirst(shardIntervalCell);
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
char *quotedShardName = NULL;
|
||||
char *shardRelationName = pnstrdup(relationName, NAMEDATALEN);
|
||||
char *shardRelationName = pstrdup(relationName);
|
||||
|
||||
Assert(shardInterval->relationId == relationId);
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ DropShardsFromWorker(WorkerNode *workerNode, Oid relationId, List *shardInterval
|
|||
foreach(shardIntervalCell, shardIntervalList)
|
||||
{
|
||||
ShardInterval *shardInterval = (ShardInterval *) lfirst(shardIntervalCell);
|
||||
char *shardName = pnstrdup(relationName, NAMEDATALEN);
|
||||
char *shardName = pstrdup(relationName);
|
||||
char *quotedShardName = NULL;
|
||||
|
||||
AppendShardIdToName(&shardName, shardInterval->shardId);
|
||||
|
|
|
@ -483,7 +483,7 @@ TypeDropIndexConstraint(const AlterTableCmd *command,
|
|||
return false;
|
||||
}
|
||||
|
||||
searchedConstraintName = pnstrdup(command->name, NAMEDATALEN);
|
||||
searchedConstraintName = pstrdup(command->name);
|
||||
AppendShardIdToName(&searchedConstraintName, shardId);
|
||||
|
||||
pgConstraint = heap_open(ConstraintRelationId, AccessShareLock);
|
||||
|
@ -637,6 +637,13 @@ AppendShardIdToName(char **name, uint64 shardId)
|
|||
uint32 longNameHash = 0;
|
||||
int multiByteClipLength = 0;
|
||||
|
||||
if (nameLength >= NAMEDATALEN)
|
||||
{
|
||||
ereport(ERROR, (errcode(ERRCODE_NAME_TOO_LONG),
|
||||
errmsg("identifier must be less than %d characters",
|
||||
NAMEDATALEN)));
|
||||
}
|
||||
|
||||
snprintf(shardIdAndSeparator, NAMEDATALEN, "%c" UINT64_FORMAT,
|
||||
SHARD_NAME_SEPARATOR, shardId);
|
||||
shardIdAndSeparatorLength = strlen(shardIdAndSeparator);
|
||||
|
|
Loading…
Reference in New Issue