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);
|
ShardInterval *shardInterval = (ShardInterval *) lfirst(shardIntervalCell);
|
||||||
uint64 shardId = shardInterval->shardId;
|
uint64 shardId = shardInterval->shardId;
|
||||||
char *quotedShardName = NULL;
|
char *quotedShardName = NULL;
|
||||||
char *shardRelationName = pnstrdup(relationName, NAMEDATALEN);
|
char *shardRelationName = pstrdup(relationName);
|
||||||
|
|
||||||
Assert(shardInterval->relationId == relationId);
|
Assert(shardInterval->relationId == relationId);
|
||||||
|
|
||||||
|
|
|
@ -169,7 +169,7 @@ DropShardsFromWorker(WorkerNode *workerNode, Oid relationId, List *shardInterval
|
||||||
foreach(shardIntervalCell, shardIntervalList)
|
foreach(shardIntervalCell, shardIntervalList)
|
||||||
{
|
{
|
||||||
ShardInterval *shardInterval = (ShardInterval *) lfirst(shardIntervalCell);
|
ShardInterval *shardInterval = (ShardInterval *) lfirst(shardIntervalCell);
|
||||||
char *shardName = pnstrdup(relationName, NAMEDATALEN);
|
char *shardName = pstrdup(relationName);
|
||||||
char *quotedShardName = NULL;
|
char *quotedShardName = NULL;
|
||||||
|
|
||||||
AppendShardIdToName(&shardName, shardInterval->shardId);
|
AppendShardIdToName(&shardName, shardInterval->shardId);
|
||||||
|
|
|
@ -483,7 +483,7 @@ TypeDropIndexConstraint(const AlterTableCmd *command,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
searchedConstraintName = pnstrdup(command->name, NAMEDATALEN);
|
searchedConstraintName = pstrdup(command->name);
|
||||||
AppendShardIdToName(&searchedConstraintName, shardId);
|
AppendShardIdToName(&searchedConstraintName, shardId);
|
||||||
|
|
||||||
pgConstraint = heap_open(ConstraintRelationId, AccessShareLock);
|
pgConstraint = heap_open(ConstraintRelationId, AccessShareLock);
|
||||||
|
@ -637,6 +637,13 @@ AppendShardIdToName(char **name, uint64 shardId)
|
||||||
uint32 longNameHash = 0;
|
uint32 longNameHash = 0;
|
||||||
int multiByteClipLength = 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,
|
snprintf(shardIdAndSeparator, NAMEDATALEN, "%c" UINT64_FORMAT,
|
||||||
SHARD_NAME_SEPARATOR, shardId);
|
SHARD_NAME_SEPARATOR, shardId);
|
||||||
shardIdAndSeparatorLength = strlen(shardIdAndSeparator);
|
shardIdAndSeparatorLength = strlen(shardIdAndSeparator);
|
||||||
|
|
Loading…
Reference in New Issue