Package org.apache.druid.segment.vector
Interface VectorObjectSelector
- All Superinterfaces:
VectorSizeInspector
- All Known Implementing Classes:
ExpressionVectorMultiValueStringObjectSelector,ExpressionVectorObjectSelector,NestedFieldVirtualColumn.RawFieldVectorObjectSelector,NilVectorSelector,StringUtf8DictionaryEncodedColumn.MultiValueStringVectorObjectSelector,StringUtf8DictionaryEncodedColumn.StringVectorObjectSelector,VariantColumn.VariantVectorObjectSelector
Vectorized object selector.
Typically created by
VectorColumnSelectorFactory.makeObjectSelector(String).- See Also:
-
Method Summary
Methods inherited from interface org.apache.druid.segment.vector.VectorSizeInspector
getCurrentVectorSize, getMaxVectorSize
-
Method Details
-
getObjectVector
Object[] getObjectVector()Get the current vector. The type of objects in the array depends on the type of the selector. Callers can determine this by callingVectorColumnSelectorFactory.getColumnCapabilities(String)if creating selectors directly. Alternatively, callers usingVectorColumnProcessorFactorywill receive capabilities as part of the callback toVectorColumnProcessorFactory.makeObjectProcessor(ColumnCapabilities, VectorObjectSelector). String selectors, where type isColumnType.STRING, must use objects compatible with the spec ofDimensionSelector.rowToObject(IndexedInts, DimensionDictionarySelector). Array selectors, whereTypeSignature.isArray(), must useObject[]. The array may contain null elements, and the array itself may also be null. Complex selectors may use any type of object. No other type of selector is possible. Vector object selectors are only used for strings, arrays, and complex types.
-