Missing API from Metadata Sync

pull/6029/head
Nitish Upreti 2022-06-14 10:56:23 -07:00
parent bdbaf34df2
commit d3a43dab63
2 changed files with 18 additions and 0 deletions

View File

@ -1346,6 +1346,23 @@ ShardListInsertCommand(List *shardIntervalList)
}
/*
* ShardListDeleteCommand generates a command list that can be executed to delete
* shard and shard placement metadata for the given shard.
*/
List *
ShardDeleteCommandList(ShardInterval *shardInterval)
{
uint64 shardId = shardInterval->shardId;
StringInfo deleteShardCommand = makeStringInfo();
appendStringInfo(deleteShardCommand,
"SELECT citus_internal_delete_shard_metadata(%ld);", shardId);
return list_make1(deleteShardCommand->data);
}
/*
* NodeDeleteCommand generate a command that can be
* executed to delete the metadata for a worker node.

View File

@ -53,6 +53,7 @@ extern char * DistributionDeleteCommand(const char *schemaName,
extern char * TableOwnerResetCommand(Oid distributedRelationId);
extern char * NodeListInsertCommand(List *workerNodeList);
extern List * ShardListInsertCommand(List *shardIntervalList);
extern List * ShardDeleteCommandList(ShardInterval *shardInterval);
extern char * NodeDeleteCommand(uint32 nodeId);
extern char * NodeStateUpdateCommand(uint32 nodeId, bool isActive);
extern char * ShouldHaveShardsUpdateCommand(uint32 nodeId, bool shouldHaveShards);