public class RelOptCluster extends Object
| Modifier and Type | Method and Description |
|---|---|
static RelOptCluster |
create(RelOptPlanner planner,
RexBuilder rexBuilder)
Creates a cluster.
|
CorrelationId |
createCorrel()
Constructs a new id for a correlating variable.
|
HintStrategyTable |
getHintStrategies()
Returns the hint strategies of this cluster.
|
MetadataFactory |
getMetadataFactory()
Deprecated.
Use
getMetadataQuery(). |
@Nullable RelMetadataProvider |
getMetadataProvider() |
RelMetadataQuery |
getMetadataQuery()
Returns the current RelMetadataQuery.
|
Supplier<RelMetadataQuery> |
getMetadataQuerySupplier()
Returns the supplier of RelMetadataQuery.
|
RexNode |
getOriginalExpression()
Deprecated.
|
RelOptPlanner |
getPlanner() |
RelOptQuery |
getQuery()
Deprecated.
|
RexBuilder |
getRexBuilder() |
RelDataTypeFactory |
getTypeFactory() |
void |
invalidateMetadataQuery()
Should be called whenever the current
RelMetadataQuery becomes
invalid. |
void |
setHintStrategies(HintStrategyTable hintStrategies)
Sets up the hint propagation strategies to be used during rule planning.
|
void |
setMetadataProvider(RelMetadataProvider metadataProvider)
Overrides the default metadata provider for this cluster.
|
void |
setMetadataQuerySupplier(Supplier<RelMetadataQuery> mqSupplier)
Sets up the customized
RelMetadataQuery instance supplier that to
use during rule planning. |
void |
setOriginalExpression(RexNode originalExpression)
Deprecated.
|
RelTraitSet |
traitSet()
Returns the default trait set for this cluster.
|
RelTraitSet |
traitSetOf(RelTrait... traits)
Deprecated.
For
traitSetOf(t1, t2),
use traitSet()().replace(t1).replace(t2). |
RelTraitSet |
traitSetOf(RelTrait trait) |
public static RelOptCluster create(RelOptPlanner planner, RexBuilder rexBuilder)
@Deprecated public RelOptQuery getQuery()
@Deprecated public RexNode getOriginalExpression()
@Deprecated public void setOriginalExpression(RexNode originalExpression)
public RelOptPlanner getPlanner()
public RelDataTypeFactory getTypeFactory()
public RexBuilder getRexBuilder()
public @Nullable RelMetadataProvider getMetadataProvider()
@EnsuresNonNull(value={"this.metadataProvider","this.metadataFactory"})
public void setMetadataProvider(@UnknownInitialization RelOptCluster this,
RelMetadataProvider metadataProvider)
metadataProvider - custom provider@Deprecated public MetadataFactory getMetadataFactory()
getMetadataQuery().MetadataFactory.@EnsuresNonNull(value="this.mqSupplier")
public void setMetadataQuerySupplier(@UnknownInitialization RelOptCluster this,
Supplier<RelMetadataQuery> mqSupplier)
RelMetadataQuery instance supplier that to
use during rule planning.
Note that the mqSupplier should return
a fresh new RelMetadataQuery instance because the instance would be
cached in this cluster, and we may invalidate and re-generate it
for each RelOptRuleCall cycle.
public RelMetadataQuery getMetadataQuery()
This method might be changed or moved in future.
If you have a RelOptRuleCall available,
for example if you are in a RelOptRule.onMatch(RelOptRuleCall)
method, then use RelOptRuleCall.getMetadataQuery() instead.
public Supplier<RelMetadataQuery> getMetadataQuerySupplier()
public void invalidateMetadataQuery()
RelMetadataQuery becomes
invalid. Typically invoked from RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelHintsPropagator).public void setHintStrategies(HintStrategyTable hintStrategies)
Use RelOptNode.getCluster().getHintStrategies() to fetch
the hint strategies.
Note that this method is only for internal use; the cluster hintStrategies
would be always set up with the instance configured by
SqlToRelConverter.Config.
hintStrategies - The specified hint strategies to override the default one(empty)public HintStrategyTable getHintStrategies()
public CorrelationId createCorrel()
public RelTraitSet traitSet()
@Deprecated public RelTraitSet traitSetOf(RelTrait... traits)
traitSetOf(t1, t2),
use traitSet()().replace(t1).replace(t2).public RelTraitSet traitSetOf(RelTrait trait)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.