From 451ea04508317267ada992090a61737be72153dd Mon Sep 17 00:00:00 2001 From: Jelte Fennema Date: Thu, 9 Jul 2020 14:18:18 +0200 Subject: [PATCH] Rename ForceXxx functions to to XxxOrError This clearer naming was suggested in https://github.com/citusdata/citus/pull/4001 --- .../commands/create_distributed_table.c | 2 +- src/backend/distributed/commands/function.c | 2 +- src/backend/distributed/commands/index.c | 2 +- src/backend/distributed/commands/table.c | 4 +-- .../distributed_intermediate_results.c | 4 +-- .../distributed/metadata/metadata_cache.c | 4 +-- .../distributed/metadata/node_metadata.c | 4 +-- .../distributed/operations/delete_protocol.c | 2 +- .../distributed/operations/repair_shards.c | 33 ++++++++++--------- .../distributed/planner/multi_join_order.c | 4 +-- .../relation_restriction_equivalence.c | 2 +- .../distributed/test/intermediate_results.c | 2 +- .../distributed/coordinator_protocol.h | 6 ++-- src/include/distributed/metadata_cache.h | 2 +- src/include/distributed/multi_join_order.h | 2 +- src/include/distributed/worker_manager.h | 2 +- 16 files changed, 40 insertions(+), 37 deletions(-) diff --git a/src/backend/distributed/commands/create_distributed_table.c b/src/backend/distributed/commands/create_distributed_table.c index 90dd7a839..0ab40a844 100644 --- a/src/backend/distributed/commands/create_distributed_table.c +++ b/src/backend/distributed/commands/create_distributed_table.c @@ -843,7 +843,7 @@ EnsureTableCanBeColocatedWith(Oid relationId, char replicationModel, CitusTableCacheEntry *sourceTableEntry = GetCitusTableCacheEntry(sourceRelationId); char sourceDistributionMethod = sourceTableEntry->partitionMethod; char sourceReplicationModel = sourceTableEntry->replicationModel; - Var *sourceDistributionColumn = ForceDistPartitionKey(sourceRelationId); + Var *sourceDistributionColumn = DistPartitionKeyOrError(sourceRelationId); if (sourceDistributionMethod != DISTRIBUTE_BY_HASH) { diff --git a/src/backend/distributed/commands/function.c b/src/backend/distributed/commands/function.c index 963d04808..6571cbb07 100644 --- a/src/backend/distributed/commands/function.c +++ b/src/backend/distributed/commands/function.c @@ -546,7 +546,7 @@ EnsureFunctionCanBeColocatedWithTable(Oid functionOid, Oid distributionColumnTyp * If the types are the same, we're good. If not, we still check if there * is any coercion path between the types. */ - Var *sourceDistributionColumn = ForceDistPartitionKey(sourceRelationId); + Var *sourceDistributionColumn = DistPartitionKeyOrError(sourceRelationId); Oid sourceDistributionColumnType = sourceDistributionColumn->vartype; if (sourceDistributionColumnType != distributionColumnType) { diff --git a/src/backend/distributed/commands/index.c b/src/backend/distributed/commands/index.c index e6cf29f72..80d7df499 100644 --- a/src/backend/distributed/commands/index.c +++ b/src/backend/distributed/commands/index.c @@ -819,7 +819,7 @@ ErrorIfUnsupportedIndexStmt(IndexStmt *createIndexStatement) "is currently unsupported"))); } - Var *partitionKey = ForceDistPartitionKey(relationId); + Var *partitionKey = DistPartitionKeyOrError(relationId); List *indexParameterList = createIndexStatement->indexParams; IndexElem *indexElement = NULL; foreach_ptr(indexElement, indexParameterList) diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index f13f512ff..c307621c5 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -165,7 +165,7 @@ PostprocessCreateTableStmtPartitionOf(CreateStmt *createStatement, const bool missingOk = false; Oid relationId = RangeVarGetRelid(createStatement->relation, NoLock, missingOk); - Var *parentDistributionColumn = ForceDistPartitionKey(parentRelationId); + Var *parentDistributionColumn = DistPartitionKeyOrError(parentRelationId); char parentDistributionMethod = DISTRIBUTE_BY_HASH; char *parentRelationName = generate_qualified_relation_name(parentRelationId); bool viaDeprecatedAPI = false; @@ -242,7 +242,7 @@ PostprocessAlterTableStmtAttachPartition(AlterTableStmt *alterTableStatement, if (IsCitusTable(relationId) && !IsCitusTable(partitionRelationId)) { - Var *distributionColumn = ForceDistPartitionKey(relationId); + Var *distributionColumn = DistPartitionKeyOrError(relationId); char distributionMethod = DISTRIBUTE_BY_HASH; char *parentRelationName = generate_qualified_relation_name(relationId); bool viaDeprecatedAPI = false; diff --git a/src/backend/distributed/executor/distributed_intermediate_results.c b/src/backend/distributed/executor/distributed_intermediate_results.c index f28f82862..ec643d5b2 100644 --- a/src/backend/distributed/executor/distributed_intermediate_results.c +++ b/src/backend/distributed/executor/distributed_intermediate_results.c @@ -609,7 +609,7 @@ FragmentTransferTaskList(List *fragmentListTransfers) /* these should have already been pruned away in ColocationTransfers */ Assert(targetNodeId != fragmentsTransfer->nodes.sourceNodeId); - WorkerNode *workerNode = ForceLookupNodeByNodeId(targetNodeId); + WorkerNode *workerNode = LookupNodeByNodeIdOrError(targetNodeId); ShardPlacement *targetPlacement = CitusMakeNode(ShardPlacement); SetPlacementNodeMetadata(targetPlacement, workerNode); @@ -638,7 +638,7 @@ QueryStringForFragmentsTransfer(NodeToNodeFragmentsTransfer *fragmentsTransfer) StringInfo fragmentNamesArrayString = makeStringInfo(); int fragmentCount = 0; NodePair *nodePair = &fragmentsTransfer->nodes; - WorkerNode *sourceNode = ForceLookupNodeByNodeId(nodePair->sourceNodeId); + WorkerNode *sourceNode = LookupNodeByNodeIdOrError(nodePair->sourceNodeId); appendStringInfoString(fragmentNamesArrayString, "ARRAY["); diff --git a/src/backend/distributed/metadata/metadata_cache.c b/src/backend/distributed/metadata/metadata_cache.c index 146675fa0..921b3ed7c 100644 --- a/src/backend/distributed/metadata/metadata_cache.c +++ b/src/backend/distributed/metadata/metadata_cache.c @@ -586,11 +586,11 @@ LookupNodeByNodeId(uint32 nodeId) /* - * ForceLookupNodeByNodeId returns a worker node by nodeId or errors out if the + * LookupNodeByNodeIdOrError returns a worker node by nodeId or errors out if the * node cannot be found. */ WorkerNode * -ForceLookupNodeByNodeId(uint32 nodeId) +LookupNodeByNodeIdOrError(uint32 nodeId) { WorkerNode *node = LookupNodeByNodeId(nodeId); if (node == NULL) diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index f8ed93978..5d733bfeb 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -898,7 +898,7 @@ get_shard_id_for_distribution_column(PG_FUNCTION_ARGS) Oid inputDataType = get_fn_expr_argtype(fcinfo->flinfo, 1); char *distributionValueString = DatumToString(inputDatum, inputDataType); - Var *distributionColumn = ForceDistPartitionKey(relationId); + Var *distributionColumn = DistPartitionKeyOrError(relationId); Oid distributionDataType = distributionColumn->vartype; Datum distributionValueDatum = StringToDatum(distributionValueString, @@ -957,7 +957,7 @@ FindWorkerNode(const char *nodeName, int32 nodePort) * if it exists otherwise it errors out. */ WorkerNode * -ForceFindWorkerNode(const char *nodeName, int32 nodePort) +FindWorkerNodeOrError(const char *nodeName, int32 nodePort) { WorkerNode *node = FindWorkerNode(nodeName, nodePort); if (node == NULL) diff --git a/src/backend/distributed/operations/delete_protocol.c b/src/backend/distributed/operations/delete_protocol.c index 95a72c3da..48bf51222 100644 --- a/src/backend/distributed/operations/delete_protocol.c +++ b/src/backend/distributed/operations/delete_protocol.c @@ -686,7 +686,7 @@ CheckDeleteCriteria(Node *deleteCriteria) static void CheckPartitionColumn(Oid relationId, Node *whereClause) { - Var *partitionColumn = ForceDistPartitionKey(relationId); + Var *partitionColumn = DistPartitionKeyOrError(relationId); List *columnList = pull_var_clause_default(whereClause); Var *var = NULL; diff --git a/src/backend/distributed/operations/repair_shards.c b/src/backend/distributed/operations/repair_shards.c index 3ded564b2..517e78f17 100644 --- a/src/backend/distributed/operations/repair_shards.c +++ b/src/backend/distributed/operations/repair_shards.c @@ -364,9 +364,9 @@ RepairShardPlacement(int64 shardId, const char *sourceNodeName, int32 sourceNode /* after successful repair, we update shard state as healthy*/ List *placementList = ShardPlacementList(shardId); - ShardPlacement *placement = ForceSearchShardPlacementInList(placementList, - targetNodeName, - targetNodePort); + ShardPlacement *placement = SearchShardPlacementInListOrError(placementList, + targetNodeName, + targetNodePort); UpdateShardPlacementState(placement->placementId, SHARD_STATE_ACTIVE); } @@ -633,18 +633,20 @@ EnsureShardCanBeRepaired(int64 shardId, const char *sourceNodeName, int32 source { List *shardPlacementList = ShardPlacementList(shardId); - ShardPlacement *sourcePlacement = ForceSearchShardPlacementInList(shardPlacementList, - sourceNodeName, - sourceNodePort); + ShardPlacement *sourcePlacement = SearchShardPlacementInListOrError( + shardPlacementList, + sourceNodeName, + sourceNodePort); if (sourcePlacement->shardState != SHARD_STATE_ACTIVE) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("source placement must be in active state"))); } - ShardPlacement *targetPlacement = ForceSearchShardPlacementInList(shardPlacementList, - targetNodeName, - targetNodePort); + ShardPlacement *targetPlacement = SearchShardPlacementInListOrError( + shardPlacementList, + targetNodeName, + targetNodePort); if (targetPlacement->shardState != SHARD_STATE_INACTIVE) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -663,9 +665,10 @@ EnsureShardCanBeCopied(int64 shardId, const char *sourceNodeName, int32 sourceNo { List *shardPlacementList = ShardPlacementList(shardId); - ShardPlacement *sourcePlacement = ForceSearchShardPlacementInList(shardPlacementList, - sourceNodeName, - sourceNodePort); + ShardPlacement *sourcePlacement = SearchShardPlacementInListOrError( + shardPlacementList, + sourceNodeName, + sourceNodePort); if (sourcePlacement->shardState != SHARD_STATE_ACTIVE) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -707,7 +710,7 @@ SearchShardPlacementInList(List *shardPlacementList, const char *nodeName, /* - * ForceSearchShardPlacementInList searches a provided list for a shard + * SearchShardPlacementInListOrError searches a provided list for a shard * placement with the specified node name and port. This function throws an * error if no such placement exists in the provided list. * @@ -715,8 +718,8 @@ SearchShardPlacementInList(List *shardPlacementList, const char *nodeName, * reasons about NULL returns correctly. */ ShardPlacement * -ForceSearchShardPlacementInList(List *shardPlacementList, const char *nodeName, - uint32 nodePort) +SearchShardPlacementInListOrError(List *shardPlacementList, const char *nodeName, + uint32 nodePort) { ShardPlacement *placement = SearchShardPlacementInList(shardPlacementList, nodeName, nodePort); diff --git a/src/backend/distributed/planner/multi_join_order.c b/src/backend/distributed/planner/multi_join_order.c index 9b5dfde7d..7b2b2c1f4 100644 --- a/src/backend/distributed/planner/multi_join_order.c +++ b/src/backend/distributed/planner/multi_join_order.c @@ -1396,11 +1396,11 @@ DistPartitionKey(Oid relationId) /* - * ForceDistPartitionKey is the same as DistPartitionKey but errors out instead + * DistPartitionKeyOrError is the same as DistPartitionKey but errors out instead * of returning NULL if this is called with a relationId of a reference table. */ Var * -ForceDistPartitionKey(Oid relationId) +DistPartitionKeyOrError(Oid relationId) { Var *partitionKey = DistPartitionKey(relationId); diff --git a/src/backend/distributed/planner/relation_restriction_equivalence.c b/src/backend/distributed/planner/relation_restriction_equivalence.c index 0d766fde0..aa1cf2ee2 100644 --- a/src/backend/distributed/planner/relation_restriction_equivalence.c +++ b/src/backend/distributed/planner/relation_restriction_equivalence.c @@ -409,7 +409,7 @@ FindUnionAllVar(PlannerInfo *root, List *appendRelList, Oid relationOid, return NULL; } - Var *relationPartitionKey = ForceDistPartitionKey(relationOid); + Var *relationPartitionKey = DistPartitionKeyOrError(relationOid); #if PG_VERSION_NUM >= PG_VERSION_13 for (; childAttrNumber < targetAppendRelInfo->num_child_cols; childAttrNumber++) diff --git a/src/backend/distributed/test/intermediate_results.c b/src/backend/distributed/test/intermediate_results.c index 789ede87f..22624eb8f 100644 --- a/src/backend/distributed/test/intermediate_results.c +++ b/src/backend/distributed/test/intermediate_results.c @@ -46,7 +46,7 @@ store_intermediate_result_on_node(PG_FUNCTION_ARGS) CheckCitusVersion(ERROR); - WorkerNode *workerNode = ForceFindWorkerNode(nodeNameString, nodePort); + WorkerNode *workerNode = FindWorkerNodeOrError(nodeNameString, nodePort); /* * Make sure that this transaction has a distributed transaction ID. diff --git a/src/include/distributed/coordinator_protocol.h b/src/include/distributed/coordinator_protocol.h index 7980355fb..ce774acc3 100644 --- a/src/include/distributed/coordinator_protocol.h +++ b/src/include/distributed/coordinator_protocol.h @@ -173,8 +173,8 @@ extern void CopyShardForeignConstraintCommandListGrouped(ShardInterval *shardInt referenceTableForeignConstraintList); extern ShardPlacement * SearchShardPlacementInList(List *shardPlacementList, const char *nodeName, uint32 nodePort); -extern ShardPlacement * ForceSearchShardPlacementInList(List *shardPlacementList, - const char *nodeName, - uint32 nodePort); +extern ShardPlacement * SearchShardPlacementInListOrError(List *shardPlacementList, + const char *nodeName, + uint32 nodePort); #endif /* COORDINATOR_PROTOCOL_H */ diff --git a/src/include/distributed/metadata_cache.h b/src/include/distributed/metadata_cache.h index 4c4f8b0b0..341736774 100644 --- a/src/include/distributed/metadata_cache.h +++ b/src/include/distributed/metadata_cache.h @@ -169,7 +169,7 @@ extern char LookupDistributionMethod(Oid distributionMethodOid); /* access WorkerNodeHash */ extern HTAB * GetWorkerNodeHash(void); extern WorkerNode * LookupNodeByNodeId(uint32 nodeId); -extern WorkerNode * ForceLookupNodeByNodeId(uint32 nodeId); +extern WorkerNode * LookupNodeByNodeIdOrError(uint32 nodeId); extern WorkerNode * LookupNodeForGroup(int32 groupId); /* namespace oids */ diff --git a/src/include/distributed/multi_join_order.h b/src/include/distributed/multi_join_order.h index 0801254a2..92d1edaf2 100644 --- a/src/include/distributed/multi_join_order.h +++ b/src/include/distributed/multi_join_order.h @@ -105,7 +105,7 @@ extern Var * LeftColumnOrNULL(OpExpr *joinClause); extern Var * RightColumnOrNULL(OpExpr *joinClause); extern Var * PartitionColumn(Oid relationId, uint32 rangeTableId); extern Var * DistPartitionKey(Oid relationId); -extern Var * ForceDistPartitionKey(Oid relationId); +extern Var * DistPartitionKeyOrError(Oid relationId); extern char PartitionMethod(Oid relationId); extern char TableReplicationModel(Oid relationId); diff --git a/src/include/distributed/worker_manager.h b/src/include/distributed/worker_manager.h index fbb663a96..0fcf75334 100644 --- a/src/include/distributed/worker_manager.h +++ b/src/include/distributed/worker_manager.h @@ -80,7 +80,7 @@ extern uint32 ActiveReadableNonCoordinatorNodeCount(void); extern List * ActiveReadableNonCoordinatorNodeList(void); extern List * ActiveReadableNodeList(void); extern WorkerNode * FindWorkerNode(const char *nodeName, int32 nodePort); -extern WorkerNode * ForceFindWorkerNode(const char *nodeName, int32 nodePort); +extern WorkerNode * FindWorkerNodeOrError(const char *nodeName, int32 nodePort); extern WorkerNode * FindWorkerNodeAnyCluster(const char *nodeName, int32 nodePort); extern List * ReadDistNode(bool includeNodesFromOtherClusters); extern void EnsureCoordinator(void);