public class QueryableIndexStorageAdapter extends Object implements StorageAdapter
Modifier and Type | Class and Description |
---|---|
static class |
QueryableIndexStorageAdapter.FilterAnalysis |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_VECTOR_SIZE |
Constructor and Description |
---|
QueryableIndexStorageAdapter(QueryableIndex index) |
Modifier and Type | Method and Description |
---|---|
QueryableIndexStorageAdapter.FilterAnalysis |
analyzeFilter(Filter filter,
ColumnSelectorBitmapIndexSelector indexSelector,
QueryMetrics queryMetrics) |
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() |
static ColumnCapabilities |
getColumnCapabilities(ColumnSelector index,
String columnName) |
ColumnCapabilities |
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.
|
static ColumnInspector |
getColumnInspectorForIndex(ColumnSelector index) |
String |
getColumnTypeName(String columnName)
Like
ColumnCapabilities.getType() , but may return a more descriptive string for complex columns. |
int |
getDimensionCardinality(String dimension)
Returns the number of distinct values for the given column if known, or
Integer.MAX_VALUE if unknown,
e. |
org.joda.time.Interval |
getInterval() |
org.joda.time.DateTime |
getMaxIngestedEventTime() |
org.joda.time.DateTime |
getMaxTime() |
Comparable |
getMaxValue(String dimension) |
Metadata |
getMetadata() |
org.joda.time.DateTime |
getMinTime() |
Comparable |
getMinValue(String dimension) |
int |
getNumRows() |
ColumnSelectorBitmapIndexSelector |
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, wait
getType
areNumeric, areNumeric, canVectorize, canVectorize
public static final int DEFAULT_VECTOR_SIZE
public QueryableIndexStorageAdapter(QueryableIndex index)
public org.joda.time.Interval getInterval()
getInterval
in interface StorageAdapter
public Indexed<String> getAvailableDimensions()
getAvailableDimensions
in interface StorageAdapter
public Iterable<String> getAvailableMetrics()
getAvailableMetrics
in interface StorageAdapter
public int getDimensionCardinality(String dimension)
StorageAdapter
Integer.MAX_VALUE
if unknown,
e. g. the column is numeric. If the column doesn't exist, returns 0.getDimensionCardinality
in interface StorageAdapter
public int getNumRows()
getNumRows
in interface StorageAdapter
public org.joda.time.DateTime getMinTime()
getMinTime
in interface StorageAdapter
public org.joda.time.DateTime getMaxTime()
getMaxTime
in interface StorageAdapter
@Nullable public Comparable getMinValue(String dimension)
getMinValue
in interface StorageAdapter
@Nullable public Comparable getMaxValue(String dimension)
getMaxValue
in interface StorageAdapter
@Nullable public ColumnCapabilities getColumnCapabilities(String column)
StorageAdapter
ColumnSelectorFactory.getColumnCapabilities(String)
, which returns capabilities for virtual columns as
well.getColumnCapabilities
in interface ColumnInspector
getColumnCapabilities
in interface StorageAdapter
column
- column name@Nullable public String getColumnTypeName(String columnName)
StorageAdapter
ColumnCapabilities.getType()
, but may return a more descriptive string for complex columns.getColumnTypeName
in interface StorageAdapter
columnName
- column namepublic org.joda.time.DateTime getMaxIngestedEventTime()
getMaxIngestedEventTime
in interface StorageAdapter
public boolean canVectorize(@Nullable Filter filter, VirtualColumns virtualColumns, boolean descending)
CursorFactory
canVectorize
in interface CursorFactory
@Nullable public VectorCursor makeVectorCursor(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, boolean descending, int vectorSize, @Nullable QueryMetrics<?> queryMetrics)
CursorFactory
makeVectorCursor
in interface CursorFactory
public Sequence<Cursor> makeCursors(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, Granularity gran, boolean descending, @Nullable QueryMetrics<?> queryMetrics)
CursorFactory
makeCursors
in interface CursorFactory
@Nullable public static ColumnCapabilities getColumnCapabilities(ColumnSelector index, String columnName)
public static ColumnInspector getColumnInspectorForIndex(ColumnSelector index)
public Metadata getMetadata()
getMetadata
in interface StorageAdapter
public ColumnSelectorBitmapIndexSelector makeBitmapIndexSelector(VirtualColumns virtualColumns)
public QueryableIndexStorageAdapter.FilterAnalysis analyzeFilter(@Nullable Filter filter, ColumnSelectorBitmapIndexSelector indexSelector, @Nullable QueryMetrics queryMetrics)
Copyright © 2011–2021 The Apache Software Foundation. All rights reserved.