From c8b9e4011b51c184ac9e37e57df3bce10357c309 Mon Sep 17 00:00:00 2001 From: Burak Yucesoy Date: Mon, 10 Jul 2017 15:46:37 +0300 Subject: [PATCH] Remove LockRelationDistributionMetadata function --- .../distributed/master/master_create_shards.c | 12 ++++++------ src/backend/distributed/utils/resource_lock.c | 15 --------------- src/include/distributed/resource_lock.h | 1 - 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/src/backend/distributed/master/master_create_shards.c b/src/backend/distributed/master/master_create_shards.c index a56f283bf..9f752244c 100644 --- a/src/backend/distributed/master/master_create_shards.c +++ b/src/backend/distributed/master/master_create_shards.c @@ -113,8 +113,8 @@ CreateShardsWithRoundRobinPolicy(Oid distributedTableId, int32 shardCount, */ EnsureTableOwner(distributedTableId); - /* we plan to add shards: get an exclusive metadata lock */ - LockRelationDistributionMetadata(distributedTableId, ExclusiveLock); + /* we plan to add shards: get an exclusive lock on relation oid */ + LockRelationOid(distributedTableId, ExclusiveLock); relationOwner = TableOwner(distributedTableId); @@ -264,8 +264,8 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId) */ EnsureTableOwner(targetRelationId); - /* we plan to add shards: get an exclusive metadata lock on the target relation */ - LockRelationDistributionMetadata(targetRelationId, ExclusiveLock); + /* we plan to add shards: get an exclusive lock on target relation oid */ + LockRelationOid(targetRelationId, ExclusiveLock); /* we don't want source table to get dropped before we colocate with it */ LockRelationOid(sourceRelationId, AccessShareLock); @@ -369,8 +369,8 @@ CreateReferenceTableShard(Oid distributedTableId) */ EnsureTableOwner(distributedTableId); - /* we plan to add shards: get an exclusive metadata lock */ - LockRelationDistributionMetadata(distributedTableId, ExclusiveLock); + /* we plan to add shards: get an exclusive lock on relation oid */ + LockRelationOid(distributedTableId, ExclusiveLock); relationOwner = TableOwner(distributedTableId); diff --git a/src/backend/distributed/utils/resource_lock.c b/src/backend/distributed/utils/resource_lock.c index 15daf3d53..296508e9d 100644 --- a/src/backend/distributed/utils/resource_lock.c +++ b/src/backend/distributed/utils/resource_lock.c @@ -184,21 +184,6 @@ TryLockShardDistributionMetadata(int64 shardId, LOCKMODE lockMode) } -/* - * LockRelationDistributionMetadata returns after getting a the lock used for a - * relation's distribution metadata, blocking if required. Only ExclusiveLock - * and ShareLock modes are supported. Any locks acquired using this method are - * released at transaction end. - */ -void -LockRelationDistributionMetadata(Oid relationId, LOCKMODE lockMode) -{ - Assert(lockMode == ExclusiveLock || lockMode == ShareLock); - - (void) LockRelationOid(relationId, lockMode); -} - - /* * LockShardResource acquires a lock needed to modify data on a remote shard. * This task may be assigned to multiple backends at the same time, so the lock diff --git a/src/include/distributed/resource_lock.h b/src/include/distributed/resource_lock.h index 67d02a037..31dfff855 100644 --- a/src/include/distributed/resource_lock.h +++ b/src/include/distributed/resource_lock.h @@ -66,7 +66,6 @@ typedef enum AdvisoryLocktagClass /* Lock shard/relation metadata for safe modifications */ extern void LockShardDistributionMetadata(int64 shardId, LOCKMODE lockMode); extern bool TryLockShardDistributionMetadata(int64 shardId, LOCKMODE lockMode); -extern void LockRelationDistributionMetadata(Oid relationId, LOCKMODE lockMode); /* Lock shard data, for DML commands or remote fetches */ extern void LockShardResource(uint64 shardId, LOCKMODE lockmode);