public class QueryableIndexStorageAdapter extends Object implements StorageAdapter
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_VECTOR_SIZE |
| Constructor and Description |
|---|
QueryableIndexStorageAdapter(QueryableIndex index) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canVectorize(Filter filter,
VirtualColumns virtualColumns,
boolean descending)
Returns true if the provided combination of parameters can be handled by "makeVectorCursor".
|
Indexed<String> |
getAvailableDimensions() |
Iterable<String> |
getAvailableMetrics() |
ColumnCapabilities |
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.
|
int |
getDimensionCardinality(String dimension)
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 dimension)
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 dimension)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
int |
getNumRows() |
ColumnSelectorColumnIndexSelector |
makeBitmapIndexSelector(VirtualColumns virtualColumns) |
Sequence<Cursor> |
makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics)
Creates a sequence of Cursors, one for each time-granular bucket (based on the provided Granularity).
|
VectorCursor |
makeVectorCursor(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
boolean descending,
int vectorSize,
QueryMetrics<?> queryMetrics)
Creates a VectorCursor.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetRowSignature, hasBuiltInFilters, isFromTombstonegetColumnCapabilitiesWithDefault, getTypeareNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorizepublic static final int DEFAULT_VECTOR_SIZE
public QueryableIndexStorageAdapter(QueryableIndex index)
public org.joda.time.Interval getInterval()
getInterval in interface StorageAdapterpublic Indexed<String> getAvailableDimensions()
getAvailableDimensions in interface StorageAdapterpublic Iterable<String> getAvailableMetrics()
getAvailableMetrics in interface StorageAdapterpublic int getDimensionCardinality(String dimension)
StorageAdapterDimensionDictionarySelector.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.getDimensionCardinality in interface StorageAdapterpublic int getNumRows()
getNumRows in interface StorageAdapterpublic org.joda.time.DateTime getMinTime()
StorageAdapterColumnHolder.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.getMinTime in interface StorageAdapterpublic org.joda.time.DateTime getMaxTime()
StorageAdapterColumnHolder.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.getMaxTime in interface StorageAdapter@Nullable public Comparable getMinValue(String dimension)
StorageAdaptergetMinValue in interface StorageAdapter@Nullable public Comparable getMaxValue(String dimension)
StorageAdaptergetMaxValue in interface StorageAdapter@Nullable public ColumnCapabilities getColumnCapabilities(String column)
StorageAdapterColumnSelectorFactory.getColumnCapabilities(String), which returns capabilities for virtual columns as
well.getColumnCapabilities in interface ColumnInspectorgetColumnCapabilities in interface StorageAdaptercolumn - column namepublic org.joda.time.DateTime getMaxIngestedEventTime()
getMaxIngestedEventTime in interface StorageAdapterpublic boolean canVectorize(@Nullable Filter filter, VirtualColumns virtualColumns, boolean descending)
CursorFactorycanVectorize in interface CursorFactory@Nullable public VectorCursor makeVectorCursor(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, boolean descending, int vectorSize, @Nullable QueryMetrics<?> queryMetrics)
CursorFactorymakeVectorCursor in interface CursorFactorypublic Sequence<Cursor> makeCursors(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, Granularity gran, boolean descending, @Nullable QueryMetrics<?> queryMetrics)
CursorFactorymakeCursors in interface CursorFactorypublic Metadata getMetadata()
getMetadata in interface StorageAdapterpublic ColumnSelectorColumnIndexSelector makeBitmapIndexSelector(VirtualColumns virtualColumns)
Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.