public class RelOptCluster
extends java.lang.Object
Modifier and Type | Field and 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 and 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.
|
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.
|
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 current
RelMetadataQuery 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... traits)
Deprecated.
For
traitSetOf(t1, t2) ,
use traitSet() ().replace(t1).replace(t2). |
RelTraitSet |
traitSetOf(RelTrait trait) |
private final RelDataTypeFactory typeFactory
private final RelOptPlanner planner
private final java.util.concurrent.atomic.AtomicInteger nextCorrel
private final java.util.Map<java.lang.String,RelNode> mapCorrelToRel
private RexNode originalExpression
private final RexBuilder rexBuilder
private RelMetadataProvider metadataProvider
private MetadataFactory metadataFactory
private final RelTraitSet emptyTraitSet
private RelMetadataQuery mq
@Deprecated RelOptCluster(RelOptQuery query, RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder)
RelOptCluster(RelOptPlanner planner, RelDataTypeFactory typeFactory, RexBuilder rexBuilder, java.util.concurrent.atomic.AtomicInteger nextCorrel, java.util.Map<java.lang.String,RelNode> mapCorrelToRel)
For use only from create(org.apache.calcite.plan.RelOptPlanner, org.apache.calcite.rex.RexBuilder)
and RelOptQuery
.
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 RelMetadataProvider getMetadataProvider()
public void setMetadataProvider(RelMetadataProvider metadataProvider)
metadataProvider
- custom providerpublic MetadataFactory getMetadataFactory()
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 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>)
.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–2019 The Apache Software Foundation. All rights reserved.