Package org.apache.calcite.prepare
Class CalcitePrepareImpl.CalcitePreparingStmt
- java.lang.Object
-
- org.apache.calcite.prepare.Prepare
-
- org.apache.calcite.prepare.CalcitePrepareImpl.CalcitePreparingStmt
-
- All Implemented Interfaces:
RelOptTable.ViewExpander
- Direct Known Subclasses:
CalciteMaterializer
- Enclosing class:
- CalcitePrepareImpl
static class CalcitePrepareImpl.CalcitePreparingStmt extends Prepare implements RelOptTable.ViewExpander
Holds state for the process of preparing a SQL statement.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.calcite.prepare.Prepare
Prepare.AbstractPreparingTable, Prepare.CatalogReader, Prepare.Materialization, Prepare.PreparedExplain, Prepare.PreparedResult, Prepare.PreparedResultImpl, Prepare.PreparingTable
-
-
Field Summary
Fields Modifier and Type Field Description protected SqlRexConvertletTable
convertletTable
private int
expansionDepth
private java.util.Map<java.lang.String,java.lang.Object>
internalParameters
protected RelOptPlanner
planner
private EnumerableRel.Prefer
prefer
protected CalcitePrepareImpl
prepare
protected RexBuilder
rexBuilder
protected CalciteSchema
schema
private SqlValidator
sqlValidator
protected RelDataTypeFactory
typeFactory
-
Fields inherited from class org.apache.calcite.prepare.Prepare
catalogReader, context, fieldOrigins, LOGGER, parameterRowType, resultConvention, THREAD_EXPAND, THREAD_TRIM, timingTracer
-
-
Constructor Summary
Constructors Constructor Description CalcitePreparingStmt(CalcitePrepareImpl prepare, CalcitePrepare.Context context, Prepare.CatalogReader catalogReader, RelDataTypeFactory typeFactory, CalciteSchema schema, EnumerableRel.Prefer prefer, RelOptPlanner planner, Convention resultConvention, SqlRexConvertletTable convertletTable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Prepare.PreparedResult
createPreparedExplanation(RelDataType resultType, RelDataType parameterRowType, RelRoot root, SqlExplainFormat format, SqlExplainLevel detailLevel)
protected SqlValidator
createSqlValidator(Prepare.CatalogReader catalogReader)
protected RelNode
decorrelate(SqlToRelConverter sqlToRelConverter, SqlNode query, RelNode rootRel)
RelRoot
expandView(RelDataType rowType, java.lang.String queryString, java.util.List<java.lang.String> schemaPath, java.util.List<java.lang.String> viewPath)
Returns a relational expression that is to be substituted for an access to a SQL view.RelNode
flattenTypes(RelNode rootRel, boolean restructure)
protected java.util.List<CalciteSchema.LatticeEntry>
getLattices()
protected java.util.List<Prepare.Materialization>
getMaterializations()
protected SqlToRelConverter
getSqlToRelConverter(SqlValidator validator, Prepare.CatalogReader catalogReader, SqlToRelConverter.Config config)
Protected method to allow subclasses to override construction of SqlToRelConverter.protected SqlValidator
getSqlValidator()
protected Prepare.PreparedResult
implement(RelRoot root)
Implements a physical query plan.protected void
init(java.lang.Class runtimeContextClass)
private Prepare.PreparedResult
prepare_(com.google.common.base.Supplier<RelNode> fn, RelDataType resultType)
Prepare.PreparedResult
prepareQueryable(Queryable queryable, RelDataType resultType)
Prepare.PreparedResult
prepareRel(RelNode rel)
-
Methods inherited from class org.apache.calcite.prepare.Prepare
getDesiredRootTraitSet, getProgram, mapTableModOp, optimize, prepareSql, prepareSql, trimUnusedFields
-
-
-
-
Field Detail
-
planner
protected final RelOptPlanner planner
-
rexBuilder
protected final RexBuilder rexBuilder
-
prepare
protected final CalcitePrepareImpl prepare
-
schema
protected final CalciteSchema schema
-
typeFactory
protected final RelDataTypeFactory typeFactory
-
convertletTable
protected final SqlRexConvertletTable convertletTable
-
prefer
private final EnumerableRel.Prefer prefer
-
internalParameters
private final java.util.Map<java.lang.String,java.lang.Object> internalParameters
-
expansionDepth
private int expansionDepth
-
sqlValidator
private SqlValidator sqlValidator
-
-
Constructor Detail
-
CalcitePreparingStmt
CalcitePreparingStmt(CalcitePrepareImpl prepare, CalcitePrepare.Context context, Prepare.CatalogReader catalogReader, RelDataTypeFactory typeFactory, CalciteSchema schema, EnumerableRel.Prefer prefer, RelOptPlanner planner, Convention resultConvention, SqlRexConvertletTable convertletTable)
-
-
Method Detail
-
prepareQueryable
public Prepare.PreparedResult prepareQueryable(Queryable queryable, RelDataType resultType)
-
prepareRel
public Prepare.PreparedResult prepareRel(RelNode rel)
-
prepare_
private Prepare.PreparedResult prepare_(com.google.common.base.Supplier<RelNode> fn, RelDataType resultType)
-
getSqlToRelConverter
protected SqlToRelConverter getSqlToRelConverter(SqlValidator validator, Prepare.CatalogReader catalogReader, SqlToRelConverter.Config config)
Description copied from class:Prepare
Protected method to allow subclasses to override construction of SqlToRelConverter.- Specified by:
getSqlToRelConverter
in classPrepare
-
flattenTypes
public RelNode flattenTypes(RelNode rootRel, boolean restructure)
- Specified by:
flattenTypes
in classPrepare
-
decorrelate
protected RelNode decorrelate(SqlToRelConverter sqlToRelConverter, SqlNode query, RelNode rootRel)
- Specified by:
decorrelate
in classPrepare
-
expandView
public RelRoot expandView(RelDataType rowType, java.lang.String queryString, java.util.List<java.lang.String> schemaPath, java.util.List<java.lang.String> viewPath)
Description copied from interface:RelOptTable.ViewExpander
Returns a relational expression that is to be substituted for an access to a SQL view.- Specified by:
expandView
in interfaceRelOptTable.ViewExpander
- Parameters:
rowType
- Row type of the viewqueryString
- Body of the viewschemaPath
- Path of a schema wherein to find referenced tablesviewPath
- Path of the view, ending with its name; may be null- Returns:
- Relational expression
-
createSqlValidator
protected SqlValidator createSqlValidator(Prepare.CatalogReader catalogReader)
-
getSqlValidator
protected SqlValidator getSqlValidator()
- Specified by:
getSqlValidator
in classPrepare
-
createPreparedExplanation
protected Prepare.PreparedResult createPreparedExplanation(RelDataType resultType, RelDataType parameterRowType, RelRoot root, SqlExplainFormat format, SqlExplainLevel detailLevel)
- Specified by:
createPreparedExplanation
in classPrepare
-
implement
protected Prepare.PreparedResult implement(RelRoot root)
Description copied from class:Prepare
Implements a physical query plan.
-
getMaterializations
protected java.util.List<Prepare.Materialization> getMaterializations()
- Specified by:
getMaterializations
in classPrepare
-
getLattices
protected java.util.List<CalciteSchema.LatticeEntry> getLattices()
- Specified by:
getLattices
in classPrepare
-
-