| 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.rex |
Provides a language for representing row-expressions.
|
| org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EnumerableJoin
Implementation of
Join in
enumerable calling convention. |
class |
EnumerableMergeJoin
Implementation of
Join in
enumerable calling convention using
a merge algorithm. |
class |
EnumerableSemiJoin
Implementation of
SemiJoin in
enumerable calling convention. |
class |
EnumerableThetaJoin
Implementation of
Join in
enumerable calling convention
that allows conditions that are not just = (equals). |
| Modifier and Type | Class and Description |
|---|---|
static class |
JdbcRules.JdbcJoin
Join operator implemented in JDBC convention.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
JdbcRules.JdbcJoinRule.convert(Join join,
boolean convertInputTraits)
Converts a
Join into a JdbcJoin. |
| Modifier and Type | Class and Description |
|---|---|
static class |
Bindables.BindableJoin
Implementation of
Join in
bindable calling convention. |
| Modifier and Type | Field and Description |
|---|---|
private Join |
JoinNode.rel |
| Modifier and Type | Method and Description |
|---|---|
void |
Nodes.CoreCompiler.visit(Join join) |
| Constructor and Description |
|---|
JoinNode(Compiler compiler,
Join rel) |
| Modifier and Type | Method and Description |
|---|---|
static List<RexNode> |
RelOptUtil.createSwappedJoinExprs(RelNode newJoin,
Join origJoin,
boolean origOrder)
Creates projection expressions reflecting the swapping of a join's input.
|
static RelNode |
RelOptUtil.pushDownJoinConditions(Join originalJoin)
Deprecated.
|
static RelNode |
RelOptUtil.pushDownJoinConditions(Join originalJoin,
RelBuilder relBuilder)
Pushes down expressions in "equal" join condition.
|
private static RelNode |
RelOptUtil.pushDownJoinConditions(Join originalJoin,
RelBuilderFactory relBuilderFactory) |
static RelNode |
RelOptUtil.pushDownJoinConditions(Join originalJoin,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EquiJoin
Base class for any join whose condition is based on column equality.
|
class |
SemiJoin
Relational expression that joins two relational expressions according to some
condition, but outputs only columns from the left input, and eliminates
duplicates.
|
| Modifier and Type | Method and Description |
|---|---|
Join |
Join.copy(RelTraitSet traitSet,
List<RelNode> inputs) |
abstract Join |
Join.copy(RelTraitSet traitSet,
RexNode conditionExpr,
RelNode left,
RelNode right,
JoinRelType joinType,
boolean semiJoinDone)
Creates a copy of this join, overriding condition, system fields and
inputs.
|
| Modifier and Type | Method and Description |
|---|---|
static double |
Join.estimateJoinedRows(Join joinRel,
RexNode condition)
Deprecated.
|
| Modifier and Type | Class and Description |
|---|---|
class |
LogicalJoin
Sub-class of
Join
not targeted at any particular engine or calling convention. |
| Modifier and Type | Field and Description |
|---|---|
(package private) Join |
RelMdPredicates.JoinConditionBasedPredicateInference.joinRel |
| Modifier and Type | Method and Description |
|---|---|
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Join rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
List<Double> |
RelMdSize.averageColumnSizes(Join rel,
RelMetadataQuery mq) |
private List<Double> |
RelMdSize.averageJoinColumnSizes(Join rel,
RelMetadataQuery mq,
boolean semijoin) |
RelOptPredicateList |
RelMdAllPredicates.getAllPredicates(Join join,
RelMetadataQuery mq)
Add the Join condition to the list obtained from the input.
|
Set<RelColumnOrigin> |
RelMdColumnOrigins.getColumnOrigins(Join rel,
RelMetadataQuery mq,
int iOutputColumn) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Join rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Set<RexNode> |
RelMdExpressionLineage.getExpressionLineage(Join rel,
RelMetadataQuery mq,
RexNode outputExpression)
Expression lineage from
Join. |
static Double |
RelMdUtil.getJoinRowCount(RelMetadataQuery mq,
Join join,
RexNode condition)
Returns an estimate of the number of rows returned by a
Join. |
Double |
RelMdMaxRowCount.getMaxRowCount(Join rel,
RelMetadataQuery mq) |
Double |
RelMdMinRowCount.getMinRowCount(Join rel,
RelMetadataQuery mq) |
com.google.common.collect.Multimap<Class<? extends RelNode>,RelNode> |
RelMdNodeTypes.getNodeTypes(Join rel,
RelMetadataQuery mq) |
Double |
RelMdPercentageOriginalRows.getPercentageOriginalRows(Join rel,
RelMetadataQuery mq) |
Double |
RelMdPopulationSize.getPopulationSize(Join rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
RelOptPredicateList |
RelMdPredicates.getPredicates(Join join,
RelMetadataQuery mq)
Infers predicates for a
Join. |
Double |
RelMdRowCount.getRowCount(Join rel,
RelMetadataQuery mq) |
Set<RexTableInputRef.RelTableRef> |
RelMdTableReferences.getTableReferences(Join rel,
RelMetadataQuery mq)
Table references from Join.
|
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Join rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
| Constructor and Description |
|---|
JoinConditionBasedPredicateInference(Join joinRel,
boolean isSemiJoin,
RexNode lPreds,
RexNode rPreds) |
JoinConditionBasedPredicateInference(Join joinRel,
RexNode lPreds,
RexNode rPreds) |
| Modifier and Type | Method and Description |
|---|---|
SqlImplementor.Result |
RelToSqlConverter.visit(Join e) |
| Modifier and Type | Field and Description |
|---|---|
private static com.google.common.base.Predicate<Join> |
SemiJoinRule.IS_LEFT_OR_INNER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
FilterJoinRule.Predicate.apply(Join join,
JoinRelType joinType,
RexNode exp) |
private List<RelNode> |
JoinToMultiJoinRule.combineInputs(Join join,
RelNode left,
RelNode right,
List<ImmutableBitSet> projFieldsList,
List<int[]> joinFieldRefCountsList)
Combines the inputs into a LogicalJoin into an array of inputs.
|
private List<RexNode> |
JoinToMultiJoinRule.combineJoinFilters(Join joinRel,
RelNode left,
RelNode right)
Combines the join filters from the left and right inputs (if they are
MultiJoinRels) with the join filter in the joinrel into a single AND'd
join filter, unless the inputs correspond to null generating inputs in an
outer join
|
private void |
JoinToMultiJoinRule.combineOuterJoins(Join joinRel,
List<RelNode> combinedInputs,
RelNode left,
RelNode right,
List<Pair<JoinRelType,RexNode>> joinSpecs)
Combines the outer join conditions and join types from the left and right
join inputs.
|
private List<RexNode> |
JoinToMultiJoinRule.combinePostJoinFilters(Join joinRel,
RelNode left,
RelNode right)
Combines the post-join filters from the left and right inputs (if they
are MultiJoinRels) into a single AND'd filter.
|
static boolean |
LoptOptimizeJoinRule.isRemovableSelfJoin(Join joinRel)
Determines whether a join is a removable self-join.
|
protected void |
FilterJoinRule.perform(RelOptRuleCall call,
Filter filter,
Join join) |
protected void |
SemiJoinRule.perform(RelOptRuleCall call,
Project project,
Join join,
RelNode left,
Aggregate aggregate) |
private RexNode |
JoinToMultiJoinRule.shiftRightFilter(Join joinRel,
RelNode left,
MultiJoin right,
RexNode rightFilter)
Shifts a filter originating from the right child of the LogicalJoin to the
right, to reflect the filter now being applied on the resulting
MultiJoin.
|
static RelNode |
JoinCommuteRule.swap(Join join)
Returns a relational expression with the inputs switched round.
|
static RelNode |
JoinCommuteRule.swap(Join join,
boolean swapOuterJoins)
Returns a relational expression with the inputs switched round.
|
protected void |
FilterJoinRule.validateJoinFilters(List<RexNode> aboveFilters,
List<RexNode> joinFilters,
Join join,
JoinRelType joinType)
Validates that target execution framework can satisfy join filters.
|
| Constructor and Description |
|---|
AggregateJoinTransposeRule(Class<? extends Aggregate> aggregateClass,
Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory,
boolean allowFunctions)
Creates an AggregateJoinTransposeRule.
|
AggregateJoinTransposeRule(Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory)
Deprecated.
|
AggregateJoinTransposeRule(Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
boolean allowFunctions)
Deprecated.
|
AggregateJoinTransposeRule(Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
AggregateJoinTransposeRule(Class<? extends Aggregate> aggregateClass,
RelFactories.AggregateFactory aggregateFactory,
Class<? extends Join> joinClass,
RelFactories.JoinFactory joinFactory,
RelFactories.ProjectFactory projectFactory,
boolean allowFunctions)
Deprecated.
|
JoinAddRedundantSemiJoinRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates an JoinAddRedundantSemiJoinRule.
|
JoinCommuteRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory,
boolean swapOuter)
Creates a JoinCommuteRule.
|
JoinCommuteRule(Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
JoinCommuteRule(Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory,
boolean swapOuter)
Deprecated.
|
JoinExtractFilterRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates a JoinExtractFilterRule.
|
JoinPushExpressionsRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates a JoinPushExpressionsRule.
|
JoinPushExpressionsRule(Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
JoinPushThroughJoinRule(String description,
boolean right,
Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates a JoinPushThroughJoinRule.
|
JoinPushThroughJoinRule(String description,
boolean right,
Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
JoinPushTransitivePredicatesRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates a JoinPushTransitivePredicatesRule.
|
JoinPushTransitivePredicatesRule(Class<? extends Join> clazz,
RelFactories.FilterFactory filterFactory)
Deprecated.
|
JoinReduceExpressionsRule(Class<? extends Join> joinClass,
boolean matchNullability,
RelBuilderFactory relBuilderFactory) |
JoinReduceExpressionsRule(Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory)
Deprecated.
|
JoinToMultiJoinRule(Class<? extends Join> clazz)
Deprecated.
|
JoinToMultiJoinRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory)
Creates a JoinToMultiJoinRule.
|
JoinToSemiJoinRule(Class<Join> joinClass,
Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
String description)
Creates a JoinToSemiJoinRule.
|
ProjectToSemiJoinRule(Class<Project> projectClass,
Class<Join> joinClass,
Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
String description)
Creates a ProjectToSemiJoinRule.
|
SemiJoinRule(Class<Join> joinClass,
Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
String description) |
SemiJoinRule(Class<Project> projectClass,
Class<Join> joinClass,
Class<Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory,
String description) |
SortJoinTransposeRule(Class<? extends Sort> sortClass,
Class<? extends Join> joinClass)
Deprecated.
|
SortJoinTransposeRule(Class<? extends Sort> sortClass,
Class<? extends Join> joinClass,
RelBuilderFactory relBuilderFactory)
Creates a SortJoinTransposeRule.
|
| Modifier and Type | Field and Description |
|---|---|
static com.google.common.base.Predicate<Join> |
RexUtil.SubQueryFinder.JOIN_PREDICATE
Returns whether a
Join contains a sub-query. |
| Modifier and Type | Method and Description |
|---|---|
RelFieldTrimmer.TrimResult |
RelFieldTrimmer.trimFields(Join join,
ImmutableBitSet fieldsUsed,
Set<RelDataTypeField> extraFields)
Variant of
RelFieldTrimmer.trimFields(RelNode, ImmutableBitSet, Set) for
LogicalJoin. |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.