Package org.apache.calcite.schema
Interface ExtensibleTable
-
- All Superinterfaces:
Table
public interface ExtensibleTable extends 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
orProjectableFilterableTable
, you may wish to make the table returned fromextend(java.util.List<org.apache.calcite.rel.type.RelDataTypeField>)
implement these interfaces as well.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Table
extend(java.util.List<RelDataTypeField> fields)
Returns a table that has the row type of this table plus the given fields.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.-
Methods inherited from interface org.apache.calcite.schema.Table
getJdbcTableType, getRowType, getStatistic, isRolledUp, rolledUpColumnValidInsideAgg
-
-
-
-
Method Detail
-
extend
Table extend(java.util.List<RelDataTypeField> fields)
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.
-
-