Pass pointer of AttributeEquivalenceClass instead of pointer of pointer

AttributeEquivalenceClass seems to be unnecessarily used with multiple
pointers. Just use a single pointer for ease of read.
pull/4756/head
Onder Kalaci 2021-03-03 09:45:05 +01:00
parent d1cd198655
commit 54ee96470e
1 changed files with 29 additions and 29 deletions

View File

@ -94,11 +94,11 @@ static List * GenerateAttributeEquivalencesForRelationRestrictions(
RelationRestrictionContext *restrictionContext); RelationRestrictionContext *restrictionContext);
static AttributeEquivalenceClass * AttributeEquivalenceClassForEquivalenceClass( static AttributeEquivalenceClass * AttributeEquivalenceClassForEquivalenceClass(
EquivalenceClass *plannerEqClass, RelationRestriction *relationRestriction); EquivalenceClass *plannerEqClass, RelationRestriction *relationRestriction);
static void AddToAttributeEquivalenceClass(AttributeEquivalenceClass ** static void AddToAttributeEquivalenceClass(AttributeEquivalenceClass *
attributeEquivalenceClass, attributeEquivalenceClass,
PlannerInfo *root, Var *varToBeAdded); PlannerInfo *root, Var *varToBeAdded);
static void AddRteSubqueryToAttributeEquivalenceClass(AttributeEquivalenceClass * static void AddRteSubqueryToAttributeEquivalenceClass(AttributeEquivalenceClass *
*attributeEquivalenceClass, attributeEquivalenceClass,
RangeTblEntry * RangeTblEntry *
rangeTableEntry, rangeTableEntry,
PlannerInfo *root, PlannerInfo *root,
@ -106,17 +106,17 @@ static void AddRteSubqueryToAttributeEquivalenceClass(AttributeEquivalenceClass
static Query * GetTargetSubquery(PlannerInfo *root, RangeTblEntry *rangeTableEntry, static Query * GetTargetSubquery(PlannerInfo *root, RangeTblEntry *rangeTableEntry,
Var *varToBeAdded); Var *varToBeAdded);
static void AddUnionAllSetOperationsToAttributeEquivalenceClass( static void AddUnionAllSetOperationsToAttributeEquivalenceClass(
AttributeEquivalenceClass ** AttributeEquivalenceClass *
attributeEquivalenceClass, attributeEquivalenceClass,
PlannerInfo *root, PlannerInfo *root,
Var *varToBeAdded); Var *varToBeAdded);
static void AddUnionSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass ** static void AddUnionSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass *
attributeEquivalenceClass, attributeEquivalenceClass,
PlannerInfo *root, PlannerInfo *root,
SetOperationStmt * SetOperationStmt *
setOperation, setOperation,
Var *varToBeAdded); Var *varToBeAdded);
static void AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass ** static void AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass *
attrEquivalenceClass, attrEquivalenceClass,
RangeTblEntry *rangeTableEntry, RangeTblEntry *rangeTableEntry,
Var *varToBeAdded); Var *varToBeAdded);
@ -144,7 +144,7 @@ static AttributeEquivalenceClass * GenerateEquivalenceClassForRelationRestrictio
RelationRestrictionContext RelationRestrictionContext
* *
relationRestrictionContext); relationRestrictionContext);
static void ListConcatUniqueAttributeClassMemberLists(AttributeEquivalenceClass ** static void ListConcatUniqueAttributeClassMemberLists(AttributeEquivalenceClass *
firstClass, firstClass,
AttributeEquivalenceClass * AttributeEquivalenceClass *
secondClass); secondClass);
@ -331,17 +331,17 @@ SafeToPushdownUnionSubquery(PlannerRestrictionContext *plannerRestrictionContext
* we check whether all the relations have partition keys in the * we check whether all the relations have partition keys in the
* same position. * same position.
*/ */
if ((attributeEquivalence)->unionQueryPartitionKeyIndex == InvalidAttrNumber) if (attributeEquivalence->unionQueryPartitionKeyIndex == InvalidAttrNumber)
{ {
(attributeEquivalence)->unionQueryPartitionKeyIndex = partitionKeyIndex; attributeEquivalence->unionQueryPartitionKeyIndex = partitionKeyIndex;
} }
else if ((attributeEquivalence)->unionQueryPartitionKeyIndex != partitionKeyIndex) else if (attributeEquivalence->unionQueryPartitionKeyIndex != partitionKeyIndex)
{ {
continue; continue;
} }
Assert(varToBeAdded != NULL); Assert(varToBeAdded != NULL);
AddToAttributeEquivalenceClass(&attributeEquivalence, relationPlannerRoot, AddToAttributeEquivalenceClass(attributeEquivalence, relationPlannerRoot,
varToBeAdded); varToBeAdded);
} }
@ -802,14 +802,14 @@ AttributeEquivalenceClassForEquivalenceClass(EquivalenceClass *plannerEqClass,
equivalenceParam, &outerNodeRoot); equivalenceParam, &outerNodeRoot);
if (expressionVar) if (expressionVar)
{ {
AddToAttributeEquivalenceClass(&attributeEquivalence, outerNodeRoot, AddToAttributeEquivalenceClass(attributeEquivalence, outerNodeRoot,
expressionVar); expressionVar);
} }
} }
else if (IsA(strippedEquivalenceExpr, Var)) else if (IsA(strippedEquivalenceExpr, Var))
{ {
expressionVar = (Var *) strippedEquivalenceExpr; expressionVar = (Var *) strippedEquivalenceExpr;
AddToAttributeEquivalenceClass(&attributeEquivalence, plannerInfo, AddToAttributeEquivalenceClass(attributeEquivalence, plannerInfo,
expressionVar); expressionVar);
} }
} }
@ -992,7 +992,7 @@ GenerateCommonEquivalence(List *attributeEquivalenceList,
if (AttributeClassContainsAttributeClassMember(attributeEquialanceMember, if (AttributeClassContainsAttributeClassMember(attributeEquialanceMember,
commonEquivalenceClass)) commonEquivalenceClass))
{ {
ListConcatUniqueAttributeClassMemberLists(&commonEquivalenceClass, ListConcatUniqueAttributeClassMemberLists(commonEquivalenceClass,
currentEquivalenceClass); currentEquivalenceClass);
addedEquivalenceIds = bms_add_member(addedEquivalenceIds, addedEquivalenceIds = bms_add_member(addedEquivalenceIds,
@ -1072,7 +1072,7 @@ GenerateEquivalenceClassForRelationRestriction(
* firstClass. * firstClass.
*/ */
static void static void
ListConcatUniqueAttributeClassMemberLists(AttributeEquivalenceClass **firstClass, ListConcatUniqueAttributeClassMemberLists(AttributeEquivalenceClass *firstClass,
AttributeEquivalenceClass *secondClass) AttributeEquivalenceClass *secondClass)
{ {
ListCell *equivalenceClassMemberCell = NULL; ListCell *equivalenceClassMemberCell = NULL;
@ -1083,12 +1083,12 @@ ListConcatUniqueAttributeClassMemberLists(AttributeEquivalenceClass **firstClass
AttributeEquivalenceClassMember *newEqMember = AttributeEquivalenceClassMember *newEqMember =
(AttributeEquivalenceClassMember *) lfirst(equivalenceClassMemberCell); (AttributeEquivalenceClassMember *) lfirst(equivalenceClassMemberCell);
if (AttributeClassContainsAttributeClassMember(newEqMember, *firstClass)) if (AttributeClassContainsAttributeClassMember(newEqMember, firstClass))
{ {
continue; continue;
} }
(*firstClass)->equivalentAttributes = lappend((*firstClass)->equivalentAttributes, firstClass->equivalentAttributes = lappend(firstClass->equivalentAttributes,
newEqMember); newEqMember);
} }
} }
@ -1164,10 +1164,10 @@ GenerateAttributeEquivalencesForJoinRestrictions(JoinRestrictionContext *
sizeof(AttributeEquivalenceClass)); sizeof(AttributeEquivalenceClass));
attributeEquivalence->equivalenceId = attributeEquivalenceId++; attributeEquivalence->equivalenceId = attributeEquivalenceId++;
AddToAttributeEquivalenceClass(&attributeEquivalence, AddToAttributeEquivalenceClass(attributeEquivalence,
joinRestriction->plannerInfo, leftVar); joinRestriction->plannerInfo, leftVar);
AddToAttributeEquivalenceClass(&attributeEquivalence, AddToAttributeEquivalenceClass(attributeEquivalence,
joinRestriction->plannerInfo, rightVar); joinRestriction->plannerInfo, rightVar);
attributeEquivalenceList = attributeEquivalenceList =
@ -1208,7 +1208,7 @@ GenerateAttributeEquivalencesForJoinRestrictions(JoinRestrictionContext *
* equivalence class * equivalence class
*/ */
static void static void
AddToAttributeEquivalenceClass(AttributeEquivalenceClass **attributeEquivalenceClass, AddToAttributeEquivalenceClass(AttributeEquivalenceClass *attributeEquivalenceClass,
PlannerInfo *root, Var *varToBeAdded) PlannerInfo *root, Var *varToBeAdded)
{ {
/* punt if it's a whole-row var rather than a plain column reference */ /* punt if it's a whole-row var rather than a plain column reference */
@ -1247,7 +1247,7 @@ AddToAttributeEquivalenceClass(AttributeEquivalenceClass **attributeEquivalenceC
*/ */
static void static void
AddRteSubqueryToAttributeEquivalenceClass(AttributeEquivalenceClass AddRteSubqueryToAttributeEquivalenceClass(AttributeEquivalenceClass
**attributeEquivalenceClass, *attributeEquivalenceClass,
RangeTblEntry *rangeTableEntry, RangeTblEntry *rangeTableEntry,
PlannerInfo *root, PlannerInfo *root,
Var *varToBeAdded) Var *varToBeAdded)
@ -1370,7 +1370,7 @@ GetTargetSubquery(PlannerInfo *root, RangeTblEntry *rangeTableEntry, Var *varToB
* var the given equivalence class. * var the given equivalence class.
*/ */
static void static void
AddUnionAllSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass ** AddUnionAllSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass *
attributeEquivalenceClass, attributeEquivalenceClass,
PlannerInfo *root, PlannerInfo *root,
Var *varToBeAdded) Var *varToBeAdded)
@ -1427,13 +1427,13 @@ AddUnionAllSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass **
continue; continue;
} }
if ((*attributeEquivalenceClass)->unionQueryPartitionKeyIndex == 0) if (attributeEquivalenceClass->unionQueryPartitionKeyIndex == 0)
{ {
/* the first partition key index we found */ /* the first partition key index we found */
(*attributeEquivalenceClass)->unionQueryPartitionKeyIndex = attributeEquivalenceClass->unionQueryPartitionKeyIndex =
partitionKeyIndex; partitionKeyIndex;
} }
else if ((*attributeEquivalenceClass)->unionQueryPartitionKeyIndex != else if (attributeEquivalenceClass->unionQueryPartitionKeyIndex !=
partitionKeyIndex) partitionKeyIndex)
{ {
/* /*
@ -1497,7 +1497,7 @@ ParentCountPriorToAppendRel(List *appendRelList, AppendRelInfo *targetAppendRelI
* messages. * messages.
*/ */
static void static void
AddUnionSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass ** AddUnionSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass *
attributeEquivalenceClass, attributeEquivalenceClass,
PlannerInfo *root, PlannerInfo *root,
SetOperationStmt *setOperation, SetOperationStmt *setOperation,
@ -1525,7 +1525,7 @@ AddUnionSetOperationsToAttributeEquivalenceClass(AttributeEquivalenceClass **
* the input rte to be an RTE_RELATION. * the input rte to be an RTE_RELATION.
*/ */
static void static void
AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass ** AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass *
attrEquivalenceClass, attrEquivalenceClass,
RangeTblEntry *rangeTableEntry, RangeTblEntry *rangeTableEntry,
Var *varToBeAdded) Var *varToBeAdded)
@ -1562,8 +1562,8 @@ AddRteRelationToAttributeEquivalenceClass(AttributeEquivalenceClass **
attributeEqMember->rteIdentity = GetRTEIdentity(rangeTableEntry); attributeEqMember->rteIdentity = GetRTEIdentity(rangeTableEntry);
attributeEqMember->relationId = rangeTableEntry->relid; attributeEqMember->relationId = rangeTableEntry->relid;
(*attrEquivalenceClass)->equivalentAttributes = attrEquivalenceClass->equivalentAttributes =
lappend((*attrEquivalenceClass)->equivalentAttributes, lappend(attrEquivalenceClass->equivalentAttributes,
attributeEqMember); attributeEqMember);
} }