Package org.apache.calcite.schema.impl
Class AbstractTable
java.lang.Object
org.apache.calcite.schema.impl.AbstractTable
- Direct Known Subclasses:
 AbstractModifiableTable,AbstractModifiableView,AbstractQueryableTable,ArrowTable,CsvTable,CsvTable,DruidTable,GeodeSimpleScannableTable,JsonTable,MazeTable,PigTable,PigTable,RedisTable,Smalls.MazeTable,StarTable
Abstract base class for implementing 
Table.
 Sub-classes should override isRolledUp(java.lang.String) and
 Table.rolledUpColumnValidInsideAgg(String, SqlCall, SqlNode, CalciteConnectionConfig)
 if their table can potentially contain rolled up values. This information is
 used by the validator to check for illegal uses of these columns.
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionType of table.Returns a provider of statistics about this table.booleanisRolledUp(String column) Determines whether the givencolumnhas been rolled up.booleanrolledUpColumnValidInsideAgg(String column, SqlCall call, @Nullable SqlNode parent, @Nullable CalciteConnectionConfig config) Determines whether the given rolled up column can be used inside the given aggregate function.<C> @Nullable CFinds an instance of an interface implemented by this object, or returns null if this object does not support that interface.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.calcite.schema.Table
getRowTypeMethods inherited from interface org.apache.calcite.schema.Wrapper
maybeUnwrap, unwrapOrThrow 
- 
Constructor Details
- 
AbstractTable
protected AbstractTable() 
 - 
 - 
Method Details
- 
getStatistic
Description copied from interface:TableReturns a provider of statistics about this table.- Specified by:
 getStatisticin interfaceTable
 - 
getJdbcTableType
Description copied from interface:TableType of table.- Specified by:
 getJdbcTableTypein interfaceTable
 - 
unwrap
Description copied from interface:WrapperFinds an instance of an interface implemented by this object, or returns null if this object does not support that interface. - 
isRolledUp
Description copied from interface:TableDetermines whether the givencolumnhas been rolled up.- Specified by:
 isRolledUpin interfaceTable
 - 
rolledUpColumnValidInsideAgg
public boolean rolledUpColumnValidInsideAgg(String column, SqlCall call, @Nullable SqlNode parent, @Nullable CalciteConnectionConfig config) Description copied from interface:TableDetermines whether the given rolled up column can be used inside the given aggregate function. You can assume thatisRolledUp(column)istrue.- Specified by:
 rolledUpColumnValidInsideAggin interfaceTable- Parameters:
 column- The column name for whichisRolledUpis truecall- The aggregate callparent- Parent node ofcallin theSqlNodetreeconfig- Config settings. May be null- Returns:
 - true iff the given aggregate call is valid
 
 
 -