Package org.apache.druid.segment
Interface ColumnSelectorFactory
-
- All Superinterfaces:
ColumnInspector
,Expr.InputBindingInspector
- All Known Implementing Classes:
AllNullColumnSelectorFactory
,DefaultColumnSelectorFactoryMaker.ColumnAccessorBasedColumnSelectorFactory
,FrameColumnSelectorFactory
,IndexedTableColumnSelectorFactory
,LookupColumnSelectorFactory
,MultiColumnSelectorFactory
,QueryableIndexColumnSelectorFactory
,RowBasedColumnSelectorFactory
,VirtualizedColumnSelectorFactory
public interface ColumnSelectorFactory extends ColumnInspector
Factory class for MetricSelectors
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ColumnCapabilities
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.default RowIdSupplier
getRowIdSupplier()
Returns aRowIdSupplier
that allows callers to detect whether the selectors returned by this factory have moved or not.ColumnValueSelector
makeColumnValueSelector(String columnName)
Returns ColumnValueSelector corresponding to the given column name, orNilColumnValueSelector
if the column with such name is absent.DimensionSelector
makeDimensionSelector(DimensionSpec dimensionSpec)
-
Methods inherited from interface org.apache.druid.segment.ColumnInspector
getColumnCapabilitiesWithDefault, getType
-
Methods inherited from interface org.apache.druid.math.expr.Expr.InputBindingInspector
areNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorize
-
-
-
-
Method Detail
-
makeDimensionSelector
DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec)
-
makeColumnValueSelector
ColumnValueSelector makeColumnValueSelector(String columnName)
Returns ColumnValueSelector corresponding to the given column name, orNilColumnValueSelector
if the column with such name is absent.
-
getColumnCapabilities
@Nullable ColumnCapabilities getColumnCapabilities(String column)
Returns capabilities of a particular column, if known. May be null if the column doesn't exist, or if the column does exist but the capabilities are unknown. The latter is possible with dynamically discovered columns.- Specified by:
getColumnCapabilities
in interfaceColumnInspector
- Parameters:
column
- column name- Returns:
- capabilities, or null
-
getRowIdSupplier
@Nullable default RowIdSupplier getRowIdSupplier()
Returns aRowIdSupplier
that allows callers to detect whether the selectors returned by this factory have moved or not. Useful for selectors that wrap other selectors, such as virtual columns, as it allows them to cache their outputs.
-
-