Package | Description |
---|---|
org.apache.calcite.adapter.enumerable |
Query optimizer rules for Java calling convention.
|
org.apache.calcite.adapter.jdbc |
Query provider based on a JDBC data source.
|
org.apache.calcite.interpreter |
Provides an implementation of relational expressions using an interpreter.
|
org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
org.apache.calcite.rel.core |
Defines core relational expressions.
|
org.apache.calcite.rel.logical |
Defines logical relational expressions.
|
org.apache.calcite.rel.metadata |
Defines metadata interfaces and utilities for relational
expressions.
|
org.apache.calcite.rel.rel2sql |
Translates a relational expression to SQL parse tree.
|
org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
Modifier and Type | Class and Description |
---|---|
class |
EnumerableAggregate
Implementation of
Aggregate in
enumerable calling convention . |
Modifier and Type | Class and Description |
---|---|
static class |
JdbcRules.JdbcAggregate
Aggregate operator implemented in JDBC convention.
|
Modifier and Type | Class and Description |
---|---|
static class |
Bindables.BindableAggregate
Implementation of
Aggregate
in bindable calling convention. |
Modifier and Type | Method and Description |
---|---|
void |
Nodes.CoreCompiler.visit(Aggregate agg) |
Constructor and Description |
---|
AggregateNode(Compiler compiler,
Aggregate rel) |
Modifier and Type | Method and Description |
---|---|
static java.util.Set<java.lang.Integer> |
RelOptUtil.getAllFields(Aggregate aggregate)
Gets all fields in an aggregate.
|
Modifier and Type | Field and Description |
---|---|
static com.google.common.base.Predicate<Aggregate> |
Aggregate.IS_NOT_GRAND_TOTAL
Deprecated.
|
static com.google.common.base.Predicate<Aggregate> |
Aggregate.IS_SIMPLE
Deprecated.
|
static com.google.common.base.Predicate<Aggregate> |
Aggregate.NO_INDICATOR
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
Aggregate |
Aggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
java.util.List<ImmutableBitSet> groupSets,
java.util.List<AggregateCall> aggCalls)
Deprecated.
|
abstract Aggregate |
Aggregate.copy(RelTraitSet traitSet,
RelNode input,
ImmutableBitSet groupSet,
java.util.List<ImmutableBitSet> groupSets,
java.util.List<AggregateCall> aggCalls)
Creates a copy of this aggregate.
|
Modifier and Type | Method and Description |
---|---|
Aggregate.AggCallBinding |
AggregateCall.createBinding(Aggregate aggregateRelBase)
Creates a binding of this call in the context of an
LogicalAggregate ,
which can then be used to infer the return type. |
static boolean |
Aggregate.isNotGrandTotal(Aggregate aggregate) |
static boolean |
Aggregate.isSimple(Aggregate aggregate) |
static boolean |
Aggregate.noIndicator(Aggregate aggregate)
Deprecated.
|
Modifier and Type | Class and Description |
---|---|
class |
LogicalAggregate
LogicalAggregate is a relational operator which eliminates
duplicates and computes totals. |
Modifier and Type | Method and Description |
---|---|
private static boolean |
RelMdMaxRowCount.allGroupKeysAreConstant(Aggregate aggregate,
RelOptPredicateList predicateList) |
java.lang.Boolean |
RelMdColumnUniqueness.areColumnsUnique(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
java.util.List<java.lang.Double> |
RelMdSize.averageColumnSizes(Aggregate rel,
RelMetadataQuery mq) |
RelOptPredicateList |
RelMdAllPredicates.getAllPredicates(Aggregate agg,
RelMetadataQuery mq)
Extract predicates for an Aggregate.
|
java.util.Set<RelColumnOrigin> |
RelMdColumnOrigins.getColumnOrigins(Aggregate rel,
RelMetadataQuery mq,
int iOutputColumn) |
java.lang.Double |
RelMdDistinctRowCount.getDistinctRowCount(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
java.util.Set<RexNode> |
RelMdExpressionLineage.getExpressionLineage(Aggregate rel,
RelMetadataQuery mq,
RexNode outputExpression)
Expression lineage from
Aggregate . |
java.lang.Double |
RelMdMaxRowCount.getMaxRowCount(Aggregate rel,
RelMetadataQuery mq) |
java.lang.Double |
RelMdMinRowCount.getMinRowCount(Aggregate rel,
RelMetadataQuery mq) |
com.google.common.collect.Multimap<java.lang.Class<? extends RelNode>,RelNode> |
RelMdNodeTypes.getNodeTypes(Aggregate rel,
RelMetadataQuery mq) |
java.lang.Double |
RelMdPercentageOriginalRows.getPercentageOriginalRows(Aggregate rel,
RelMetadataQuery mq) |
java.lang.Double |
RelMdPopulationSize.getPopulationSize(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
RelOptPredicateList |
RelMdPredicates.getPredicates(Aggregate agg,
RelMetadataQuery mq)
Infers predicates for an Aggregate.
|
java.lang.Double |
RelMdRowCount.getRowCount(Aggregate rel,
RelMetadataQuery mq) |
java.lang.Double |
RelMdSelectivity.getSelectivity(Aggregate rel,
RelMetadataQuery mq,
RexNode predicate) |
java.util.Set<RexTableInputRef.RelTableRef> |
RelMdTableReferences.getTableReferences(Aggregate rel,
RelMetadataQuery mq)
Table references from Aggregate.
|
java.util.Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Aggregate rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
static void |
RelMdUtil.setAggChildKeys(ImmutableBitSet groupKey,
Aggregate aggRel,
ImmutableBitSet.Builder childKey)
Takes a bitmap representing a set of input references and extracts the
ones that reference the group by columns in an aggregate.
|
Modifier and Type | Method and Description |
---|---|
private java.util.List<SqlNode> |
RelToSqlConverter.generateGroupList(SqlImplementor.Builder builder,
java.util.List<SqlNode> selectList,
Aggregate aggregate,
java.util.List<java.lang.Integer> groupList)
Generates the GROUP BY items, for example
GROUP BY x, y ,
GROUP BY CUBE (x, y) or GROUP BY ROLLUP (x, y) . |
boolean |
RelToSqlConverter.hasTrickyRollup(Sort e,
Aggregate aggregate) |
SqlImplementor.Result |
RelToSqlConverter.visit(Aggregate e) |
private SqlImplementor.Result |
RelToSqlConverter.visitAggregate(Aggregate e,
java.util.List<java.lang.Integer> groupKeyList) |
Modifier and Type | Field and Description |
---|---|
private static java.util.function.Predicate<Aggregate> |
SemiJoinRule.IS_EMPTY_AGGREGATE |
Modifier and Type | Method and Description |
---|---|
static RelNode |
AggregateProjectMergeRule.apply(RelOptRuleCall call,
Aggregate aggregate,
Project project) |
protected void |
AggregateStarTableRule.apply(RelOptRuleCall call,
Project postProject,
Aggregate aggregate,
StarTable.StarTableScan scan) |
private boolean |
FilterAggregateTransposeRule.canPush(Aggregate aggregate,
ImmutableBitSet rCols) |
private RelBuilder |
AggregateExpandDistinctAggregatesRule.convertMonopole(RelBuilder relBuilder,
Aggregate aggregate,
java.util.List<java.lang.Integer> argList,
int filterArg)
Converts an aggregate relational expression that contains just one
distinct aggregate function (or perhaps several over the same arguments)
and no non-distinct aggregate functions.
|
private RelBuilder |
AggregateExpandDistinctAggregatesRule.convertSingletonDistinct(RelBuilder relBuilder,
Aggregate aggregate,
java.util.Set<Pair<java.util.List<java.lang.Integer>,java.lang.Integer>> argLists)
Converts an aggregate with one distinct aggregate and one or more
non-distinct aggregates to multi-phase aggregates (see reference example
below).
|
private AggregateCall |
AggregateReduceFunctionsRule.createAggregateCallWithBinding(RelDataTypeFactory typeFactory,
SqlAggFunction aggFunction,
RelDataType operandType,
Aggregate oldAggRel,
AggregateCall oldCall,
int argOrdinal,
int filter) |
private RelBuilder |
AggregateExpandDistinctAggregatesRule.createSelectDistinct(RelBuilder relBuilder,
Aggregate aggregate,
java.util.List<java.lang.Integer> argList,
int filterArg,
java.util.Map<java.lang.Integer,java.lang.Integer> sourceOf)
Given an
Aggregate
and the ordinals of the arguments to a
particular call to an aggregate function, creates a 'select distinct'
relational expression which projects the group columns and those
arguments but nothing else. |
private void |
AggregateExpandDistinctAggregatesRule.doRewrite(RelBuilder relBuilder,
Aggregate aggregate,
int n,
java.util.List<java.lang.Integer> argList,
int filterArg,
java.util.List<RexInputRef> refs)
Converts all distinct aggregate calls to a given set of arguments.
|
private RexNode |
AggregateReduceFunctionsRule.getRegrCountRexNode(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
ImmutableIntList argOrdinals,
com.google.common.collect.ImmutableList<RelDataType> operandTypes,
int filterArg) |
private RexNode |
AggregateReduceFunctionsRule.getSumAggregatedRexNode(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
RexBuilder rexBuilder,
int argOrdinal,
int filterArg) |
private RexNode |
AggregateReduceFunctionsRule.getSumAggregatedRexNodeWithBinding(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
RelDataType operandType,
int argOrdinal,
int filter) |
private static boolean |
AggregateRemoveRule.isAggregateSupported(Aggregate aggregate) |
private static boolean |
AggregateJoinTransposeRule.isAggregateSupported(Aggregate aggregate,
boolean allowFunctions) |
private boolean |
AggregateJoinTransposeRule.isJoinSupported(Join join,
Aggregate aggregate) |
protected void |
AggregateReduceFunctionsRule.newAggregateRel(RelBuilder relBuilder,
Aggregate oldAggregate,
java.util.List<AggregateCall> newCalls)
Do a shallow clone of oldAggRel and update aggCalls.
|
protected void |
SemiJoinRule.perform(RelOptRuleCall call,
Project project,
Join join,
RelNode left,
Aggregate aggregate) |
private RexNode |
AggregateReduceFunctionsRule.reduceAgg(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
java.util.List<RexNode> inputExprs) |
private void |
AggregateReduceFunctionsRule.reduceAggs(RelOptRuleCall ruleCall,
Aggregate oldAggRel)
Reduces calls to functions AVG, SUM, STDDEV_POP, STDDEV_SAMP, VAR_POP,
VAR_SAMP, COVAR_POP, COVAR_SAMP, REGR_SXX, REGR_SYY if the function is
present in
AggregateReduceFunctionsRule.functionsToReduce |
private RexNode |
AggregateReduceFunctionsRule.reduceAvg(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
java.util.List<RexNode> inputExprs) |
private RexNode |
AggregateReduceFunctionsRule.reduceCovariance(Aggregate oldAggRel,
AggregateCall oldCall,
boolean biased,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
java.util.List<RexNode> inputExprs) |
private RexNode |
AggregateReduceFunctionsRule.reduceRegrSzz(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
java.util.List<RexNode> inputExprs,
int xIndex,
int yIndex,
int nullFilterIndex) |
private RexNode |
AggregateReduceFunctionsRule.reduceStddev(Aggregate oldAggRel,
AggregateCall oldCall,
boolean biased,
boolean sqrt,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
java.util.List<RexNode> inputExprs) |
private RexNode |
AggregateReduceFunctionsRule.reduceSum(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping) |
private void |
AggregateExpandDistinctAggregatesRule.rewriteUsingGroupingSets(RelOptRuleCall call,
Aggregate aggregate) |
Constructor and Description |
---|
AggregateExpandDistinctAggregatesRule(java.lang.Class<? extends Aggregate> clazz,
boolean useGroupingSets,
RelBuilderFactory relBuilderFactory) |
AggregateExtractProjectRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends RelNode> inputClass,
RelBuilderFactory relBuilderFactory)
Creates an AggregateExtractProjectRule.
|
AggregateJoinJoinRemoveRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory)
Creates an AggregateJoinJoinRemoveRule.
|
AggregateJoinRemoveRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory)
Creates an AggregateJoinRemoveRule.
|
AggregateJoinTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory,
boolean allowFunctions)
Creates an AggregateJoinTransposeRule.
|
AggregateJoinTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory)
Deprecated.
|
AggregateJoinTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
boolean allowFunctions)
Deprecated.
|
AggregateJoinTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
AggregateJoinTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
RelFactories.ProjectFactory projectFactory,
boolean allowFunctions)
Deprecated.
|
AggregateProjectMergeRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Project> projectClass,
RelBuilderFactory relBuilderFactory) |
AggregateProjectPullUpConstantsRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends RelNode> inputClass,
RelBuilderFactory relBuilderFactory,
java.lang.String description)
Creates an AggregateProjectPullUpConstantsRule.
|
AggregateReduceFunctionsRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
java.util.EnumSet<SqlKind> functionsToReduce)
Creates an AggregateReduceFunctionsRule with client
provided information on which specific functions will
be reduced by this rule
|
AggregateRemoveRule(java.lang.Class<? extends Aggregate> aggregateClass)
Deprecated.
|
AggregateRemoveRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory)
Creates an AggregateRemoveRule.
|
AggregateUnionAggregateRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Union> unionClass,
java.lang.Class<? extends RelNode> firstUnionInputClass,
java.lang.Class<? extends RelNode> secondUnionInputClass,
RelBuilderFactory relBuilderFactory,
java.lang.String desc)
Creates a AggregateUnionAggregateRule.
|
AggregateUnionAggregateRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Union> unionClass,
RelFactories.SetOpFactory setOpFactory)
Deprecated.
|
AggregateUnionTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
java.lang.Class<? extends Union> unionClass,
RelBuilderFactory relBuilderFactory)
Creates an AggregateUnionTransposeRule.
|
AggregateUnionTransposeRule(java.lang.Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
java.lang.Class<? extends Union> unionClass,
RelFactories.SetOpFactory setOpFactory)
Deprecated.
|
FilterAggregateTransposeRule(java.lang.Class<? extends Filter> filterClass,
RelBuilderFactory builderFactory,
java.lang.Class<? extends Aggregate> aggregateClass)
Creates a FilterAggregateTransposeRule.
|
FilterAggregateTransposeRule(java.lang.Class<? extends Filter> filterClass,
RelFactories.FilterFactory filterFactory,
java.lang.Class<? extends Aggregate> aggregateClass)
Deprecated.
|
JoinToSemiJoinRule(java.lang.Class<Join> joinClass,
java.lang.Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
java.lang.String description)
Creates a JoinToSemiJoinRule.
|
ProjectToSemiJoinRule(java.lang.Class<Project> projectClass,
java.lang.Class<Join> joinClass,
java.lang.Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
java.lang.String description)
Creates a ProjectToSemiJoinRule.
|
SemiJoinRule(java.lang.Class<Join> joinClass,
java.lang.Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
java.lang.String description) |
SemiJoinRule(java.lang.Class<Project> projectClass,
java.lang.Class<Join> joinClass,
java.lang.Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
java.lang.String description) |
Modifier and Type | Method and Description |
---|---|
RelFieldTrimmer.TrimResult |
RelFieldTrimmer.trimFields(Aggregate aggregate,
ImmutableBitSet fieldsUsed,
java.util.Set<RelDataTypeField> extraFields)
|
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.