public interface StorageAdapter extends CursorFactory, ColumnInspector
| Modifier and Type | Method and Description |
|---|---|
Indexed<String> |
getAvailableDimensions() |
Iterable<String> |
getAvailableMetrics() |
ColumnCapabilities |
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.
|
int |
getDimensionCardinality(String column)
Returns the number of distinct values for a column, or
DimensionDictionarySelector.CARDINALITY_UNKNOWN
if unknown. |
org.joda.time.Interval |
getInterval() |
org.joda.time.DateTime |
getMaxIngestedEventTime() |
org.joda.time.DateTime |
getMaxTime()
Metadata-only operation that returns an upper bound on
ColumnHolder.TIME_COLUMN_NAME values for this adapter. |
Comparable |
getMaxValue(String column)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
Metadata |
getMetadata() |
org.joda.time.DateTime |
getMinTime()
Metadata-only operation that returns a lower bound on
ColumnHolder.TIME_COLUMN_NAME values for this adapter. |
Comparable |
getMinValue(String column)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
int |
getNumRows() |
default RowSignature |
getRowSignature()
Returns the row signature of the data available from this adapter.
|
default boolean |
hasBuiltInFilters()
Returns true if this storage adapter can filter some rows out.
|
default boolean |
isFromTombstone() |
canVectorize, makeCursors, makeVectorCursorgetColumnCapabilitiesWithDefault, getTypeareNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorizeorg.joda.time.Interval getInterval()
default RowSignature getRowSignature()
int getDimensionCardinality(String column)
DimensionDictionarySelector.CARDINALITY_UNKNOWN
if unknown.
If the column doesn't exist, returns 1, because a column that doesn't exist is treated as a column of default
(or null) values.org.joda.time.DateTime getMinTime()
ColumnHolder.TIME_COLUMN_NAME values for this adapter. May be earlier than
the actual minimum data timestamp.
For QueryableIndexStorageAdapter and IncrementalIndexStorageAdapter
specifically, which back regular tables (i.e. TableDataSource), this method
contract is tighter: it does return the actual minimum data timestamp. This fact is leveraged by
TimeBoundaryQuery to return results using metadata only.org.joda.time.DateTime getMaxTime()
ColumnHolder.TIME_COLUMN_NAME values for this adapter. May be later than
the actual maximum data timestamp.
For QueryableIndexStorageAdapter and IncrementalIndexStorageAdapter
specifically, which back regular tables (i.e. TableDataSource), this method
contract is tighter: it does return the actual maximum data timestamp. This fact is leveraged by
TimeBoundaryQuery to return results using metadata only.@Nullable Comparable getMinValue(String column)
@Nullable Comparable getMaxValue(String column)
@Nullable ColumnCapabilities getColumnCapabilities(String column)
ColumnSelectorFactory.getColumnCapabilities(String), which returns capabilities for virtual columns as
well.getColumnCapabilities in interface ColumnInspectorcolumn - column nameint getNumRows()
org.joda.time.DateTime getMaxIngestedEventTime()
default boolean hasBuiltInFilters()
getDimensionCardinality(java.lang.String) returns if this returns true. Dimension selectors for such storage adapter
can return non-contiguous dictionary IDs because the dictionary IDs in filtered rows will not be returned.
Note that the number of rows accessible via this storage adapter will not necessarily decrease because of
the built-in filters. For inner joins, for example, the number of joined rows can be larger than
the number of rows in the base adapter even though this method returns true.default boolean isFromTombstone()
Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.