Package org.apache.calcite.schema.impl
Class ViewTable
java.lang.Object
org.apache.calcite.schema.impl.AbstractTable
org.apache.calcite.adapter.java.AbstractQueryableTable
org.apache.calcite.schema.impl.ViewTable
- All Implemented Interfaces:
QueryableTable
,Table
,TranslatableTable
,Wrapper
- Direct Known Subclasses:
MaterializedViewTable
,ModifiableViewTable
Table whose contents are defined using an SQL statement.
It is not evaluated; it is expanded during query planning.
-
Field Summary
Fields inherited from class org.apache.calcite.adapter.java.AbstractQueryableTable
elementType
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> Queryable<T>
asQueryable
(QueryProvider queryProvider, SchemaPlus schema, String tableName) Converts this table into aQueryable
.Type of table.getRowType
(RelDataTypeFactory typeFactory) Returns this table's row type.Returns the schema path of the view.Returns the path of the view.Returns the view's SQL definition.toRel
(RelOptTable.ToRelContext context, RelOptTable relOptTable) Converts this table into arelational expression
.static ViewTableMacro
viewMacro
(SchemaPlus schema, String viewSql, List<String> schemaPath) Deprecated.static ViewTableMacro
Deprecated.static ViewTableMacro
viewMacro
(SchemaPlus schema, String viewSql, List<String> schemaPath, @Nullable List<String> viewPath, @Nullable Boolean modifiable) Table macro that returns a view.Methods inherited from class org.apache.calcite.adapter.java.AbstractQueryableTable
getElementType, getExpression
Methods inherited from class org.apache.calcite.schema.impl.AbstractTable
getStatistic, isRolledUp, rolledUpColumnValidInsideAgg, unwrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.calcite.schema.Table
getStatistic, isRolledUp, rolledUpColumnValidInsideAgg
Methods inherited from interface org.apache.calcite.schema.Wrapper
maybeUnwrap, unwrapOrThrow
-
Constructor Details
-
ViewTable
-
-
Method Details
-
viewMacro
@Deprecated public static ViewTableMacro viewMacro(SchemaPlus schema, String viewSql, List<String> schemaPath) Deprecated. -
viewMacro
@Deprecated public static ViewTableMacro viewMacro(SchemaPlus schema, String viewSql, List<String> schemaPath, @Nullable Boolean modifiable) Deprecated. -
viewMacro
public static ViewTableMacro viewMacro(SchemaPlus schema, String viewSql, List<String> schemaPath, @Nullable List<String> viewPath, @Nullable Boolean modifiable) Table macro that returns a view.- Parameters:
schema
- Schema the view will belong toviewSql
- SQL queryschemaPath
- Path of schemamodifiable
- Whether view is modifiable, or null to deduce it
-
getViewSql
Returns the view's SQL definition. -
getSchemaPath
Returns the schema path of the view. -
getViewPath
Returns the path of the view. -
getJdbcTableType
Description copied from interface:Table
Type of table.- Specified by:
getJdbcTableType
in interfaceTable
- Overrides:
getJdbcTableType
in classAbstractTable
-
getRowType
Description copied from interface:Table
Returns this table's row type.This is a struct type whose fields describe the names and types of the columns in this table.
The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.
- Specified by:
getRowType
in interfaceTable
- Parameters:
typeFactory
- Type factory with which to create the type- Returns:
- Row type
-
asQueryable
public <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schema, String tableName) Description copied from interface:QueryableTable
Converts this table into aQueryable
.- Specified by:
asQueryable
in interfaceQueryableTable
-
toRel
Description copied from interface:TranslatableTable
Converts this table into arelational expression
.- Specified by:
toRel
in interfaceTranslatableTable
-