From a34e9e30d7944af54436b3986f044173ce2d0d79 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Wed, 12 Apr 2017 14:06:05 -0600 Subject: [PATCH] Rename PartitionKey to DistPartitionKey PostgreSQL 10 adds a PartitionKey symbol which conflicts with ours. --- src/backend/distributed/executor/multi_utility.c | 8 ++++---- src/backend/distributed/master/master_delete_protocol.c | 2 +- src/backend/distributed/planner/multi_join_order.c | 6 +++--- src/backend/distributed/planner/multi_logical_optimizer.c | 4 ++-- .../planner/relation_restriction_equivalence.c | 6 +++--- src/backend/distributed/utils/colocation_utils.c | 6 +++--- src/backend/distributed/utils/node_metadata.c | 2 +- src/include/distributed/multi_join_order.h | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/backend/distributed/executor/multi_utility.c b/src/backend/distributed/executor/multi_utility.c index 9e994f42f..cb14d8dcf 100644 --- a/src/backend/distributed/executor/multi_utility.c +++ b/src/backend/distributed/executor/multi_utility.c @@ -1496,7 +1496,7 @@ ErrorIfUnsupportedIndexStmt(IndexStmt *createIndexStatement) /* caller uses ShareLock for non-concurrent indexes, use the same lock here */ LOCKMODE lockMode = ShareLock; Oid relationId = RangeVarGetRelid(relation, lockMode, missingOk); - Var *partitionKey = PartitionKey(relationId); + Var *partitionKey = DistPartitionKey(relationId); char partitionMethod = PartitionMethod(relationId); List *indexParameterList = NIL; ListCell *indexParameterCell = NULL; @@ -1643,7 +1643,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement) continue; } - partitionColumn = PartitionKey(relationId); + partitionColumn = DistPartitionKey(relationId); tuple = SearchSysCacheAttName(relationId, alterColumnName); if (HeapTupleIsValid(tuple)) @@ -1727,7 +1727,7 @@ ErrorIfUnsupportedAlterAddConstraintStmt(AlterTableStmt *alterTableStatement) LOCKMODE lockmode = AlterTableGetLockLevel(alterTableStatement->cmds); Oid relationId = AlterTableLookupRelation(alterTableStatement, lockmode); char distributionMethod = PartitionMethod(relationId); - Var *distributionColumn = PartitionKey(relationId); + Var *distributionColumn = DistPartitionKey(relationId); uint32 colocationId = TableColocationId(relationId); Relation relation = relation_open(relationId, ExclusiveLock); @@ -2000,7 +2000,7 @@ ErrorIfUnsupportedForeignConstraint(Relation relation, char distributionMethod, * Partition column must exist in both referencing and referenced side of the * foreign key constraint. They also must be in same ordinal. */ - referencedTablePartitionColumn = PartitionKey(referencedTableId); + referencedTablePartitionColumn = DistPartitionKey(referencedTableId); } else { diff --git a/src/backend/distributed/master/master_delete_protocol.c b/src/backend/distributed/master/master_delete_protocol.c index 8f5943696..820f08046 100644 --- a/src/backend/distributed/master/master_delete_protocol.c +++ b/src/backend/distributed/master/master_delete_protocol.c @@ -498,7 +498,7 @@ CheckDeleteCriteria(Node *deleteCriteria) static void CheckPartitionColumn(Oid relationId, Node *whereClause) { - Var *partitionColumn = PartitionKey(relationId); + Var *partitionColumn = DistPartitionKey(relationId); ListCell *columnCell = NULL; List *columnList = pull_var_clause_default(whereClause); diff --git a/src/backend/distributed/planner/multi_join_order.c b/src/backend/distributed/planner/multi_join_order.c index ce0894e4e..a5242694c 100644 --- a/src/backend/distributed/planner/multi_join_order.c +++ b/src/backend/distributed/planner/multi_join_order.c @@ -1526,7 +1526,7 @@ RightColumn(OpExpr *joinClause) Var * PartitionColumn(Oid relationId, uint32 rangeTableId) { - Var *partitionKey = PartitionKey(relationId); + Var *partitionKey = DistPartitionKey(relationId); Var *partitionColumn = NULL; /* short circuit for reference tables */ @@ -1544,7 +1544,7 @@ PartitionColumn(Oid relationId, uint32 rangeTableId) /* - * PartitionKey returns the partition key column for the given relation. Note + * DistPartitionKey returns the partition key column for the given relation. Note * that in the context of distributed join and query planning, the callers of * this function *must* set the partition key column's range table reference * (varno) to match the table's location in the query range table list. @@ -1553,7 +1553,7 @@ PartitionColumn(Oid relationId, uint32 rangeTableId) * returns NULL when called for reference tables. */ Var * -PartitionKey(Oid relationId) +DistPartitionKey(Oid relationId) { DistTableCacheEntry *partitionEntry = DistributedTableCacheEntry(relationId); Node *variableNode = NULL; diff --git a/src/backend/distributed/planner/multi_logical_optimizer.c b/src/backend/distributed/planner/multi_logical_optimizer.c index 7bfa0efec..180fb01e9 100644 --- a/src/backend/distributed/planner/multi_logical_optimizer.c +++ b/src/backend/distributed/planner/multi_logical_optimizer.c @@ -2845,7 +2845,7 @@ IsPartitionColumn(Expr *columnExpression, Query *query) if (relationId != InvalidOid && column != NULL) { - Var *partitionColumn = PartitionKey(relationId); + Var *partitionColumn = DistPartitionKey(relationId); /* not all distributed tables have partition column */ if (partitionColumn != NULL && column->varattno == partitionColumn->varattno) @@ -3119,7 +3119,7 @@ PartitionColumnOpExpressionList(Query *query) Assert(rangeTableEntry->rtekind == RTE_RELATION); relationId = rangeTableEntry->relid; - partitionColumn = PartitionKey(relationId); + partitionColumn = DistPartitionKey(relationId); if (partitionColumn != NULL && candidatePartitionColumn->varattno == partitionColumn->varattno) diff --git a/src/backend/distributed/planner/relation_restriction_equivalence.c b/src/backend/distributed/planner/relation_restriction_equivalence.c index 5fb340e17..8b45da19e 100644 --- a/src/backend/distributed/planner/relation_restriction_equivalence.c +++ b/src/backend/distributed/planner/relation_restriction_equivalence.c @@ -278,7 +278,7 @@ FindTranslatedVar(List *appendRelList, Oid relationOid, Index relationRteIndex, return NULL; } - relationPartitionKey = PartitionKey(relationOid); + relationPartitionKey = DistPartitionKey(relationOid); translaterVars = targetAppendRelInfo->translated_vars; foreach(translatedVarCell, translaterVars) @@ -429,7 +429,7 @@ EquivalenceListContainsRelationsEquality(List *attributeEquivalenceList, (RelationRestriction *) lfirst(relationRestrictionCell); int rteIdentity = GetRTEIdentity(relationRestriction->rte); - if (PartitionKey(relationRestriction->relationId) && + if (DistPartitionKey(relationRestriction->relationId) && !bms_is_member(rteIdentity, commonRteIdentities)) { return false; @@ -1114,7 +1114,7 @@ AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass ** return; } - relationPartitionKey = PartitionKey(relationId); + relationPartitionKey = DistPartitionKey(relationId); if (relationPartitionKey->varattno != varToBeAdded->varattno) { return; diff --git a/src/backend/distributed/utils/colocation_utils.c b/src/backend/distributed/utils/colocation_utils.c index a7357f20d..2d2cfbeaf 100644 --- a/src/backend/distributed/utils/colocation_utils.c +++ b/src/backend/distributed/utils/colocation_utils.c @@ -126,7 +126,7 @@ MarkTablesColocated(Oid sourceRelationId, Oid targetRelationId) uint32 shardCount = ShardIntervalCount(sourceRelationId); uint32 shardReplicationFactor = TableShardReplicationFactor(sourceRelationId); - Var *sourceDistributionColumn = PartitionKey(sourceRelationId); + Var *sourceDistributionColumn = DistPartitionKey(sourceRelationId); Oid sourceDistributionColumnType = InvalidOid; /* reference tables has NULL distribution column */ @@ -567,7 +567,7 @@ CheckDistributionColumnType(Oid sourceRelationId, Oid targetRelationId) Oid targetDistributionColumnType = InvalidOid; /* reference tables have NULL distribution column */ - sourceDistributionColumn = PartitionKey(sourceRelationId); + sourceDistributionColumn = DistPartitionKey(sourceRelationId); if (sourceDistributionColumn == NULL) { sourceDistributionColumnType = InvalidOid; @@ -578,7 +578,7 @@ CheckDistributionColumnType(Oid sourceRelationId, Oid targetRelationId) } /* reference tables have NULL distribution column */ - targetDistributionColumn = PartitionKey(targetRelationId); + targetDistributionColumn = DistPartitionKey(targetRelationId); if (targetDistributionColumn == NULL) { targetDistributionColumnType = InvalidOid; diff --git a/src/backend/distributed/utils/node_metadata.c b/src/backend/distributed/utils/node_metadata.c index ecac82267..9a0d31a8f 100644 --- a/src/backend/distributed/utils/node_metadata.c +++ b/src/backend/distributed/utils/node_metadata.c @@ -361,7 +361,7 @@ get_shard_id_for_distribution_column(PG_FUNCTION_ARGS) inputDataType = get_fn_expr_argtype(fcinfo->flinfo, 1); distributionValueString = DatumToString(inputDatum, inputDataType); - distributionColumn = PartitionKey(relationId); + distributionColumn = DistPartitionKey(relationId); distributionDataType = distributionColumn->vartype; distributionValueDatum = StringToDatum(distributionValueString, diff --git a/src/include/distributed/multi_join_order.h b/src/include/distributed/multi_join_order.h index a2466e57a..c063700b5 100644 --- a/src/include/distributed/multi_join_order.h +++ b/src/include/distributed/multi_join_order.h @@ -90,7 +90,7 @@ extern OpExpr * DualPartitionJoinClause(List *applicableJoinClauses); extern Var * LeftColumn(OpExpr *joinClause); extern Var * RightColumn(OpExpr *joinClause); extern Var * PartitionColumn(Oid relationId, uint32 rangeTableId); -extern Var * PartitionKey(Oid relationId); +extern Var * DistPartitionKey(Oid relationId); extern char PartitionMethod(Oid relationId); extern char TableReplicationModel(Oid relationId);