public interface FrameworkConfig
Frameworks.newConfigBuilder()
Modifier and Type | Method and Description |
---|---|
Context |
getContext()
Returns the PlannerContext that should be made available during planning by
calling
RelOptPlanner.getContext() . |
SqlRexConvertletTable |
getConvertletTable()
Returns the convertlet table that should be used when converting from SQL
to row expressions
|
RelOptCostFactory |
getCostFactory()
Returns the cost factory that should be used when creating the planner.
|
SchemaPlus |
getDefaultSchema()
Returns the default schema that should be checked before looking at the
root schema.
|
RexExecutor |
getExecutor()
Returns the executor used to evaluate constant expressions.
|
SqlOperatorTable |
getOperatorTable()
Returns operator table that should be used to
resolve functions and operators during query validation.
|
SqlParser.Config |
getParserConfig()
The configuration of SQL parser.
|
com.google.common.collect.ImmutableList<Program> |
getPrograms()
Returns a list of one or more programs used during the course of query
evaluation.
|
SqlToRelConverter.Config |
getSqlToRelConverterConfig()
The configuration of
SqlToRelConverter . |
SqlStatisticProvider |
getStatisticProvider()
Returns the source of statistics about tables and columns to be used
by the lattice suggester to deduce primary keys, foreign keys, and the
direction of relationships.
|
com.google.common.collect.ImmutableList<RelTraitDef> |
getTraitDefs()
Returns a list of trait definitions.
|
RelDataTypeSystem |
getTypeSystem()
Returns the type system.
|
RelOptTable.ViewExpander |
getViewExpander()
Returns a view expander.
|
boolean |
isEvolveLattice()
Returns whether the lattice suggester should try to widen a lattice when a
new query arrives that doesn't quite fit, as opposed to creating a new
lattice.
|
SqlParser.Config getParserConfig()
SqlToRelConverter.Config getSqlToRelConverterConfig()
SqlToRelConverter
.SchemaPlus getDefaultSchema()
RexExecutor getExecutor()
com.google.common.collect.ImmutableList<Program> getPrograms()
The common use case is when there is a single program
created using Programs.of(RuleSet)
and Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)
will only be called once.
However, consumers may also create programs
not based on rule sets, register multiple programs,
and do multiple repetitions
of Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)
planning cycles using different indices.
The order of programs provided here determines the zero-based indices of programs elsewhere in this class.
SqlOperatorTable getOperatorTable()
RelOptCostFactory getCostFactory()
com.google.common.collect.ImmutableList<RelTraitDef> getTraitDefs()
If the list is not null, the planner first de-registers any
existing RelTraitDef
s, then registers the RelTraitDef
s in
this list.
The order of RelTraitDef
s in the list matters if the
planner is VolcanoPlanner. The planner calls RelTraitDef.convert(org.apache.calcite.plan.RelOptPlanner, org.apache.calcite.rel.RelNode, T, boolean)
in
the order of this list. The most important trait comes first in the list,
followed by the second most important one, etc.
SqlRexConvertletTable getConvertletTable()
Context getContext()
RelOptPlanner.getContext()
.RelDataTypeSystem getTypeSystem()
boolean isEvolveLattice()
SqlStatisticProvider getStatisticProvider()
RelOptTable.ViewExpander getViewExpander()
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.