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
-
Method Summary
Modifier and TypeMethodDescriptionType of table.Returns a provider of statistics about this table.boolean
isRolledUp
(String column) Determines whether the givencolumn
has been rolled up.boolean
rolledUpColumnValidInsideAgg
(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 C
Finds 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, wait
Methods inherited from interface org.apache.calcite.schema.Table
getRowType
Methods inherited from interface org.apache.calcite.schema.Wrapper
maybeUnwrap, unwrapOrThrow
-
Constructor Details
-
AbstractTable
protected AbstractTable()
-
-
Method Details
-
getStatistic
Description copied from interface:Table
Returns a provider of statistics about this table.- Specified by:
getStatistic
in interfaceTable
-
getJdbcTableType
Description copied from interface:Table
Type of table.- Specified by:
getJdbcTableType
in interfaceTable
-
unwrap
Description copied from interface:Wrapper
Finds 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:Table
Determines whether the givencolumn
has been rolled up.- Specified by:
isRolledUp
in interfaceTable
-
rolledUpColumnValidInsideAgg
public boolean rolledUpColumnValidInsideAgg(String column, SqlCall call, @Nullable SqlNode parent, @Nullable CalciteConnectionConfig config) Description copied from interface:Table
Determines whether the given rolled up column can be used inside the given aggregate function. You can assume thatisRolledUp(column)
istrue
.- Specified by:
rolledUpColumnValidInsideAgg
in interfaceTable
- Parameters:
column
- The column name for whichisRolledUp
is truecall
- The aggregate callparent
- Parent node ofcall
in theSqlNode
treeconfig
- Config settings. May be null- Returns:
- true iff the given aggregate call is valid
-