Package org.apache.calcite.schema
Interface ExtensibleTable
- All Superinterfaces:
Table
Table whose row type can be extended to include extra fields.
In some storage systems, especially those with "late schema", there may
exist columns that have values in the table but which are not declared in
the table schema. However, a particular query may wish to reference these
columns as if they were defined in the schema. Calling the extend(java.util.List<org.apache.calcite.rel.type.RelDataTypeField>)
method creates a temporarily extended table schema.
If the table implements extended interfaces such as
ScannableTable
,
FilterableTable
or
ProjectableFilterableTable
, you may wish
to make the table returned from extend(java.util.List<org.apache.calcite.rel.type.RelDataTypeField>)
implement these interfaces
as well.
-
Method Summary
Modifier and TypeMethodDescriptionextend
(List<RelDataTypeField> fields) Returns a table that has the row type of this table plus the given fields.int
Returns the starting offset of the first extended column, which may differ from the field count when the table stores metadata columns that are not counted in the row-type field count.Methods inherited from interface org.apache.calcite.schema.Table
getJdbcTableType, getRowType, getStatistic, isRolledUp, rolledUpColumnValidInsideAgg
-
Method Details
-
extend
Returns a table that has the row type of this table plus the given fields. -
getExtendedColumnOffset
int getExtendedColumnOffset()Returns the starting offset of the first extended column, which may differ from the field count when the table stores metadata columns that are not counted in the row-type field count.
-