Package org.apache.calcite.plan
Class RelOptCluster
- java.lang.Object
-
- org.apache.calcite.plan.RelOptCluster
-
public class RelOptCluster extends java.lang.Object
An environment for related relational expressions during the optimization of a query.
-
-
Field Summary
Fields Modifier and Type Field Description private RelTraitSet
emptyTraitSet
private java.util.Map<java.lang.String,RelNode>
mapCorrelToRel
private MetadataFactory
metadataFactory
private RelMetadataProvider
metadataProvider
private RelMetadataQuery
mq
private java.util.concurrent.atomic.AtomicInteger
nextCorrel
private RexNode
originalExpression
private RelOptPlanner
planner
private RexBuilder
rexBuilder
private RelDataTypeFactory
typeFactory
-
Constructor Summary
Constructors Constructor Description RelOptCluster(RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder, java.util.concurrent.atomic.AtomicInteger nextCorrel, java.util.Map<java.lang.String,RelNode> mapCorrelToRel)
Creates a cluster.RelOptCluster(RelOptQuery query, RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder)
Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static RelOptCluster
create(RelOptPlanner planner, RexBuilder rexBuilder)
Creates a cluster.CorrelationId
createCorrel()
Constructs a new id for a correlating variable.MetadataFactory
getMetadataFactory()
RelMetadataProvider
getMetadataProvider()
RelMetadataQuery
getMetadataQuery()
Returns the current RelMetadataQuery.RexNode
getOriginalExpression()
Deprecated.RelOptPlanner
getPlanner()
RelOptQuery
getQuery()
Deprecated.RexBuilder
getRexBuilder()
RelDataTypeFactory
getTypeFactory()
void
invalidateMetadataQuery()
Should be called whenever the currentRelMetadataQuery
becomes invalid.void
setMetadataProvider(RelMetadataProvider metadataProvider)
Overrides the default metadata provider for this cluster.void
setOriginalExpression(RexNode originalExpression)
Deprecated.RelTraitSet
traitSet()
Returns the default trait set for this cluster.RelTraitSet
traitSetOf(RelTrait trait)
RelTraitSet
traitSetOf(RelTrait... traits)
Deprecated.FortraitSetOf(t1, t2)
, usetraitSet()
().replace(t1).replace(t2).
-
-
-
Field Detail
-
typeFactory
private final RelDataTypeFactory typeFactory
-
planner
private final RelOptPlanner planner
-
nextCorrel
private final java.util.concurrent.atomic.AtomicInteger nextCorrel
-
mapCorrelToRel
private final java.util.Map<java.lang.String,RelNode> mapCorrelToRel
-
originalExpression
private RexNode originalExpression
-
rexBuilder
private final RexBuilder rexBuilder
-
metadataProvider
private RelMetadataProvider metadataProvider
-
metadataFactory
private MetadataFactory metadataFactory
-
emptyTraitSet
private final RelTraitSet emptyTraitSet
-
mq
private RelMetadataQuery mq
-
-
Constructor Detail
-
RelOptCluster
@Deprecated RelOptCluster(RelOptQuery query, RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder)
Deprecated.Creates a cluster.
-
RelOptCluster
RelOptCluster(RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder, java.util.concurrent.atomic.AtomicInteger nextCorrel, java.util.Map<java.lang.String,RelNode> mapCorrelToRel)
Creates a cluster.For use only from
create(org.apache.calcite.plan.RelOptPlanner, org.apache.calcite.rex.RexBuilder)
andRelOptQuery
.
-
-
Method Detail
-
create
public static RelOptCluster create(RelOptPlanner planner, RexBuilder rexBuilder)
Creates a cluster.
-
getQuery
@Deprecated public RelOptQuery getQuery()
Deprecated.
-
getOriginalExpression
@Deprecated public RexNode getOriginalExpression()
Deprecated.
-
setOriginalExpression
@Deprecated public void setOriginalExpression(RexNode originalExpression)
Deprecated.
-
getPlanner
public RelOptPlanner getPlanner()
-
getTypeFactory
public RelDataTypeFactory getTypeFactory()
-
getRexBuilder
public RexBuilder getRexBuilder()
-
getMetadataProvider
public RelMetadataProvider getMetadataProvider()
-
setMetadataProvider
public void setMetadataProvider(RelMetadataProvider metadataProvider)
Overrides the default metadata provider for this cluster.- Parameters:
metadataProvider
- custom provider
-
getMetadataFactory
public MetadataFactory getMetadataFactory()
-
getMetadataQuery
public RelMetadataQuery getMetadataQuery()
Returns the current RelMetadataQuery.This method might be changed or moved in future. If you have a
RelOptRuleCall
available, for example if you are in aRelOptRule.onMatch(RelOptRuleCall)
method, then useRelOptRuleCall.getMetadataQuery()
instead.
-
invalidateMetadataQuery
public void invalidateMetadataQuery()
Should be called whenever the currentRelMetadataQuery
becomes invalid. Typically invoked fromRelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>)
.
-
createCorrel
public CorrelationId createCorrel()
Constructs a new id for a correlating variable. It is unique within the whole query.
-
traitSet
public RelTraitSet traitSet()
Returns the default trait set for this cluster.
-
traitSetOf
@Deprecated public RelTraitSet traitSetOf(RelTrait... traits)
Deprecated.FortraitSetOf(t1, t2)
, usetraitSet()
().replace(t1).replace(t2).
-
traitSetOf
public RelTraitSet traitSetOf(RelTrait trait)
-
-