Interface FrameworkConfig


public interface FrameworkConfig
Interface that describes how to configure planning sessions generated using the Frameworks tools.
See Also:
  • Method Details

    • getParserConfig

      SqlParser.Config getParserConfig()
      The configuration of SQL parser.
    • getSqlValidatorConfig

      SqlValidator.Config getSqlValidatorConfig()
      The configuration of SqlValidator.
    • getSqlToRelConverterConfig

      SqlToRelConverter.Config getSqlToRelConverterConfig()
      The configuration of SqlToRelConverter.
    • getDefaultSchema

      @Nullable SchemaPlus getDefaultSchema()
      Returns the default schema that should be checked before looking at the root schema. Returns null to only consult the root schema.
    • getExecutor

      @Nullable RexExecutor getExecutor()
      Returns the executor used to evaluate constant expressions.
    • getPrograms

      com.google.common.collect.ImmutableList<Program> getPrograms()
      Returns a list of one or more programs used during the course of query evaluation.

      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.

    • getOperatorTable

      SqlOperatorTable getOperatorTable()
      Returns operator table that should be used to resolve functions and operators during query validation.
    • getCostFactory

      @Nullable RelOptCostFactory getCostFactory()
      Returns the cost factory that should be used when creating the planner. If null, use the default cost factory for that planner.
    • getTraitDefs

      @Nullable com.google.common.collect.ImmutableList<RelTraitDef> getTraitDefs()
      Returns a list of trait definitions.

      If the list is not null, the planner first de-registers any existing RelTraitDefs, then registers the RelTraitDefs in this list.

      The order of RelTraitDefs 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.

    • getConvertletTable

      SqlRexConvertletTable getConvertletTable()
      Returns the convertlet table that should be used when converting from SQL to row expressions.
    • getContext

      Context getContext()
      Returns the PlannerContext that should be made available during planning by calling RelOptPlanner.getContext().
    • getTypeSystem

      RelDataTypeSystem getTypeSystem()
      Returns the type system.
    • isEvolveLattice

      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.
    • getStatisticProvider

      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.
    • getViewExpander

      @Nullable RelOptTable.ViewExpander getViewExpander()
      Returns a view expander.