@Immutable public final class AggregationNode extends PlanNode
| Modifier and Type | Class and Description |
|---|---|
static class |
AggregationNode.Aggregation |
static class |
AggregationNode.GroupingSetDescriptor |
static class |
AggregationNode.Step |
| Constructor and Description |
|---|
AggregationNode(Optional<SourceLocation> sourceLocation,
PlanNodeId id,
Optional<PlanNode> statsEquivalentPlanNode,
PlanNode source,
Map<VariableReferenceExpression,AggregationNode.Aggregation> aggregations,
AggregationNode.GroupingSetDescriptor groupingSets,
List<VariableReferenceExpression> preGroupedVariables,
AggregationNode.Step step,
Optional<VariableReferenceExpression> hashVariable,
Optional<VariableReferenceExpression> groupIdVariable) |
AggregationNode(Optional<SourceLocation> sourceLocation,
PlanNodeId id,
PlanNode source,
Map<VariableReferenceExpression,AggregationNode.Aggregation> aggregations,
AggregationNode.GroupingSetDescriptor groupingSets,
List<VariableReferenceExpression> preGroupedVariables,
AggregationNode.Step step,
Optional<VariableReferenceExpression> hashVariable,
Optional<VariableReferenceExpression> groupIdVariable) |
getId, getSourceLocation, getStatsEquivalentPlanNodepublic AggregationNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, PlanNode source, Map<VariableReferenceExpression,AggregationNode.Aggregation> aggregations, AggregationNode.GroupingSetDescriptor groupingSets, List<VariableReferenceExpression> preGroupedVariables, AggregationNode.Step step, Optional<VariableReferenceExpression> hashVariable, Optional<VariableReferenceExpression> groupIdVariable)
public AggregationNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, Optional<PlanNode> statsEquivalentPlanNode, PlanNode source, Map<VariableReferenceExpression,AggregationNode.Aggregation> aggregations, AggregationNode.GroupingSetDescriptor groupingSets, List<VariableReferenceExpression> preGroupedVariables, AggregationNode.Step step, Optional<VariableReferenceExpression> hashVariable, Optional<VariableReferenceExpression> groupIdVariable)
public static boolean isDistinct(AggregationNode node)
public List<VariableReferenceExpression> getGroupingKeys()
public AggregationNode.GroupingSetDescriptor getGroupingSets()
public boolean hasDefaultOutput()
SELECT count(*) FROM nation WHERE nationkey < 0
A default output of "0" is expected to be produced by FINAL aggregation operator.
public boolean hasEmptyGroupingSet()
public boolean hasNonEmptyGroupingSet()
public List<PlanNode> getSources()
PlanNodegetSources in class PlanNodepublic LogicalProperties computeLogicalProperties(LogicalPropertiesProvider logicalPropertiesProvider)
PlanNodecomputeLogicalProperties in class PlanNodepublic List<VariableReferenceExpression> getOutputVariables()
PlanNodegetOutputVariables in class PlanNodepublic Map<VariableReferenceExpression,AggregationNode.Aggregation> getAggregations()
public List<VariableReferenceExpression> getPreGroupedVariables()
public int getGroupingSetCount()
public PlanNode getSource()
public AggregationNode.Step getStep()
public Optional<VariableReferenceExpression> getHashVariable()
public Optional<VariableReferenceExpression> getGroupIdVariable()
public boolean hasOrderings()
public <R,C> R accept(PlanVisitor<R,C> visitor, C context)
PlanNodepublic PlanNode assignStatsEquivalentPlanNode(Optional<PlanNode> statsEquivalentPlanNode)
PlanNodeassignStatsEquivalentPlanNode in class PlanNodepublic PlanNode replaceChildren(List<PlanNode> newChildren)
PlanNodereplaceChildren in class PlanNodepublic boolean isStreamable()
public boolean isSegmentedAggregationEligible()
public static AggregationNode.GroupingSetDescriptor globalAggregation()
public static AggregationNode.GroupingSetDescriptor singleGroupingSet(List<VariableReferenceExpression> groupingKeys)
public static AggregationNode.GroupingSetDescriptor groupingSets(List<VariableReferenceExpression> groupingKeys, int groupingSetCount, Set<Integer> globalGroupingSets)
Copyright © 2012–2022. All rights reserved.