| Modifier and Type | Class and Description |
|---|---|
static class |
VirtualColumns.JsonIncludeFilter
JsonInclude filter for getVirtualColumns(). |
| Modifier and Type | Field and Description |
|---|---|
static VirtualColumns |
EMPTY |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canVectorize(ColumnInspector columnInspector) |
static VirtualColumns |
create(List<VirtualColumn> virtualColumns) |
boolean |
equals(Object o) |
boolean |
exists(String columnName)
Returns true if a virtual column exists with a particular columnName.
|
byte[] |
getCacheKey() |
ColumnCapabilities |
getColumnCapabilities(ColumnInspector inspector,
String columnName) |
ColumnCapabilities |
getColumnCapabilitiesWithFallback(ColumnInspector inspector,
String columnName) |
ColumnIndexSupplier |
getIndexSupplier(String columnName,
ColumnSelector columnSelector)
Get the
ColumnIndexSupplier of the specified virtual column, with the assistance of a
ColumnSelector to allow reading things from segments. |
VirtualColumn |
getVirtualColumn(String columnName) |
VirtualColumn[] |
getVirtualColumns() |
int |
hashCode() |
ColumnValueSelector<?> |
makeColumnValueSelector(String columnName,
ColumnSelectorFactory factory)
Create a column value selector.
|
ColumnValueSelector<?> |
makeColumnValueSelector(String columnName,
ColumnSelector columnSelector,
ReadableOffset offset)
Try to create an optimized value selector directly from a
ColumnSelector. |
DimensionSelector |
makeDimensionSelector(DimensionSpec dimensionSpec,
ColumnSelectorFactory factory)
Create a dimension (string) selector.
|
DimensionSelector |
makeDimensionSelector(DimensionSpec dimensionSpec,
ColumnSelector columnSelector,
ReadableOffset offset)
Try to create an optimized dimension (string) selector directly from a
ColumnSelector. |
MultiValueDimensionVectorSelector |
makeMultiValueDimensionVectorSelector(DimensionSpec dimensionSpec,
ColumnSelector columnSelector,
ReadableVectorOffset offset)
Try to create an optimized multi value dimension (string) vector selector, directly from a
ColumnSelector. |
MultiValueDimensionVectorSelector |
makeMultiValueDimensionVectorSelector(DimensionSpec dimensionSpec,
VectorColumnSelectorFactory factory)
Create a multi value dimension vector (string) selector.
|
SingleValueDimensionVectorSelector |
makeSingleValueDimensionVectorSelector(DimensionSpec dimensionSpec,
ColumnSelector columnSelector,
ReadableVectorOffset offset)
Try to create an optimized single value dimension (string) vector selector, directly from a
ColumnSelector. |
SingleValueDimensionVectorSelector |
makeSingleValueDimensionVectorSelector(DimensionSpec dimensionSpec,
VectorColumnSelectorFactory factory)
Create a single value dimension vector (string) selector.
|
VectorObjectSelector |
makeVectorObjectSelector(String columnName,
ColumnSelector columnSelector,
ReadableVectorOffset offset)
Try to create an optimized vector object selector directly from a
ColumnSelector.If this method returns
null, callers should try to fallback to makeVectorObjectSelector(String, VectorColumnSelectorFactory)
instead. |
VectorObjectSelector |
makeVectorObjectSelector(String columnName,
VectorColumnSelectorFactory factory)
Create a column vector object selector.
|
VectorValueSelector |
makeVectorValueSelector(String columnName,
ColumnSelector columnSelector,
ReadableVectorOffset offset)
Try to create an optimized vector value selector directly from a
ColumnSelector. |
VectorValueSelector |
makeVectorValueSelector(String columnName,
VectorColumnSelectorFactory factory)
Create a column vector value selector.
|
static VirtualColumns |
nullToEmpty(VirtualColumns virtualColumns) |
static boolean |
shouldVectorize(Query<?> query,
VirtualColumns virtualColumns,
ColumnInspector inspector) |
static Pair<String,String> |
splitColumnName(String columnName)
Split a dot-style columnName into the "main" columnName and the subColumn name after the dot.
|
String |
toString() |
ColumnSelectorFactory |
wrap(ColumnSelectorFactory baseFactory)
Creates a
VirtualizedColumnSelectorFactory which can create column selectors for virtualColumns
in addition to selectors for all physical columns in the underlying factory. |
ColumnInspector |
wrapInspector(ColumnInspector inspector)
Creates a
VirtualizedColumnInspector that provides ColumnCapabilities information for all
virtualColumns in addition to the capabilities of all physical columns in the underlying inspector. |
public static final VirtualColumns EMPTY
public static Pair<String,String> splitColumnName(String columnName)
columnName - columnName like "foo" or "foo.bar"public static VirtualColumns create(List<VirtualColumn> virtualColumns)
public static VirtualColumns nullToEmpty(@Nullable VirtualColumns virtualColumns)
public static boolean shouldVectorize(Query<?> query, VirtualColumns virtualColumns, ColumnInspector inspector)
public boolean exists(String columnName)
columnName - the column name@Nullable public VirtualColumn getVirtualColumn(String columnName)
@Nullable public ColumnIndexSupplier getIndexSupplier(String columnName, ColumnSelector columnSelector)
ColumnIndexSupplier of the specified virtual column, with the assistance of a
ColumnSelector to allow reading things from segments. If the column does not have indexes this method
may return null, or may also return a non-null supplier whose methods may return null values - having a supplier
is no guarantee that the column has indexes.public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelector columnSelector, ReadableOffset offset)
ColumnSelector. If this method
returns null, callers should try to fallback to
makeDimensionSelector(DimensionSpec, ColumnSelectorFactory) instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)public ColumnValueSelector<?> makeColumnValueSelector(String columnName, ColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public ColumnValueSelector<?> makeColumnValueSelector(String columnName, ColumnSelector columnSelector, ReadableOffset offset)
ColumnSelector. If this method returns null,
callers should try to fallback to makeColumnValueSelector(String, ColumnSelectorFactory) instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)public boolean canVectorize(ColumnInspector columnInspector)
public SingleValueDimensionVectorSelector makeSingleValueDimensionVectorSelector(DimensionSpec dimensionSpec, VectorColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public SingleValueDimensionVectorSelector makeSingleValueDimensionVectorSelector(DimensionSpec dimensionSpec, ColumnSelector columnSelector, ReadableVectorOffset offset)
ColumnSelector. If this method returns null, callers should try to fallback to
makeSingleValueDimensionVectorSelector(DimensionSpec, VectorColumnSelectorFactory) instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)public MultiValueDimensionVectorSelector makeMultiValueDimensionVectorSelector(DimensionSpec dimensionSpec, VectorColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public MultiValueDimensionVectorSelector makeMultiValueDimensionVectorSelector(DimensionSpec dimensionSpec, ColumnSelector columnSelector, ReadableVectorOffset offset)
ColumnSelector. If this method returns null, callers should try to fallback to
makeMultiValueDimensionVectorSelector(DimensionSpec, VectorColumnSelectorFactory) instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)public VectorValueSelector makeVectorValueSelector(String columnName, VectorColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public VectorValueSelector makeVectorValueSelector(String columnName, ColumnSelector columnSelector, ReadableVectorOffset offset)
ColumnSelector. If this method returns
null, callers should try to fallback to makeVectorValueSelector(String, VectorColumnSelectorFactory)
instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)public VectorObjectSelector makeVectorObjectSelector(String columnName, VectorColumnSelectorFactory factory)
IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public VectorObjectSelector makeVectorObjectSelector(String columnName, ColumnSelector columnSelector, ReadableVectorOffset offset)
ColumnSelector.If this method returns
null, callers should try to fallback to makeVectorObjectSelector(String, VectorColumnSelectorFactory)
instead.IllegalArgumentException - if the virtual column does not exist (see exists(String)@Nullable public ColumnCapabilities getColumnCapabilities(ColumnInspector inspector, String columnName)
@Nullable public ColumnCapabilities getColumnCapabilitiesWithFallback(ColumnInspector inspector, String columnName)
public VirtualColumn[] getVirtualColumns()
public ColumnSelectorFactory wrap(ColumnSelectorFactory baseFactory)
VirtualizedColumnSelectorFactory which can create column selectors for virtualColumns
in addition to selectors for all physical columns in the underlying factory.public ColumnInspector wrapInspector(ColumnInspector inspector)
VirtualizedColumnInspector that provides ColumnCapabilities information for all
virtualColumns in addition to the capabilities of all physical columns in the underlying inspector.public byte[] getCacheKey()
getCacheKey in interface CacheableCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.