Package org.apache.calcite.prepare
Class CalciteMaterializer
- java.lang.Object
-
- org.apache.calcite.prepare.Prepare
-
- org.apache.calcite.prepare.CalcitePrepareImpl.CalcitePreparingStmt
-
- org.apache.calcite.prepare.CalciteMaterializer
-
- All Implemented Interfaces:
RelOptTable.ViewExpander
class CalciteMaterializer extends CalcitePrepareImpl.CalcitePreparingStmt
Context for populating aPrepare.Materialization
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
CalciteMaterializer.Callback
Called when we discover a star table that matches.(package private) static class
CalciteMaterializer.RelNullShuttle
Implementation ofRelShuttle
that returns each relational expression unchanged.-
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 inherited from class org.apache.calcite.prepare.CalcitePrepareImpl.CalcitePreparingStmt
convertletTable, planner, prepare, rexBuilder, schema, 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 CalciteMaterializer(CalcitePrepareImpl prepare, CalcitePrepare.Context context, Prepare.CatalogReader catalogReader, CalciteSchema schema, RelOptPlanner planner, SqlRexConvertletTable convertletTable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
populate(Prepare.Materialization materialization)
Populates a materialization record, converting a table path (essentially a list of strings, like ["hr", "sales"]) into a table object that can be used in the planning process.private void
useStar(CalciteSchema schema, Prepare.Materialization materialization)
Converts a relational expression to use aStarTable
defined inschema
.private java.lang.Iterable<CalciteMaterializer.Callback>
useStar(CalciteSchema schema, RelNode queryRel)
Converts a relational expression to use aStarTable
defined inschema
.-
Methods inherited from class org.apache.calcite.prepare.CalcitePrepareImpl.CalcitePreparingStmt
createPreparedExplanation, createSqlValidator, decorrelate, expandView, flattenTypes, getLattices, getMaterializations, getSqlToRelConverter, getSqlValidator, implement, init, prepareQueryable, prepareRel
-
Methods inherited from class org.apache.calcite.prepare.Prepare
getDesiredRootTraitSet, getProgram, mapTableModOp, optimize, prepareSql, prepareSql, trimUnusedFields
-
-
-
-
Constructor Detail
-
CalciteMaterializer
CalciteMaterializer(CalcitePrepareImpl prepare, CalcitePrepare.Context context, Prepare.CatalogReader catalogReader, CalciteSchema schema, RelOptPlanner planner, SqlRexConvertletTable convertletTable)
-
-
Method Detail
-
populate
void populate(Prepare.Materialization materialization)
Populates a materialization record, converting a table path (essentially a list of strings, like ["hr", "sales"]) into a table object that can be used in the planning process.
-
useStar
private void useStar(CalciteSchema schema, Prepare.Materialization materialization)
Converts a relational expression to use aStarTable
defined inschema
. Uses the first star table that fits.
-
useStar
private java.lang.Iterable<CalciteMaterializer.Callback> useStar(CalciteSchema schema, RelNode queryRel)
Converts a relational expression to use aStarTable
defined inschema
. Uses the first star table that fits.
-
-