Package org.apache.druid.segment.nested
Class VariantColumn<TStringDictionary extends Indexed<ByteBuffer>>
- java.lang.Object
-
- org.apache.druid.segment.nested.VariantColumn<TStringDictionary>
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,BaseColumn
,DictionaryEncodedColumn<String>
,NestedCommonFormatColumn
public class VariantColumn<TStringDictionary extends Indexed<ByteBuffer>> extends Object implements DictionaryEncodedColumn<String>, NestedCommonFormatColumn
NestedCommonFormatColumn
for single type array columns, and mixed type columns. IfvariantTypes
is non-null, the column is composed of all of the types defined there, otherwise all rows are consistentlylogicalType
. If mixed type, logical type is set byColumnType.leastRestrictiveType(org.apache.druid.segment.column.ColumnType, org.apache.druid.segment.column.ColumnType)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VariantColumn.VariantVectorObjectSelector
Make aVectorObjectSelector
for a dictionary encoded column that coerces mixed types to a common type-
Nested classes/interfaces inherited from interface org.apache.druid.segment.nested.NestedCommonFormatColumn
NestedCommonFormatColumn.Format
-
-
Constructor Summary
Constructors Constructor Description VariantColumn(TStringDictionary stringDictionary, FixedIndexed<Long> longDictionary, FixedIndexed<Double> doubleDictionary, FrontCodedIntArrayIndexed arrayDictionary, ColumnarInts encodedValueColumn, ImmutableBitmap nullValueBitmap, ColumnType logicalType, Byte variantTypeSetByte)
-
Method Summary
-
-
-
Constructor Detail
-
VariantColumn
public VariantColumn(TStringDictionary stringDictionary, FixedIndexed<Long> longDictionary, FixedIndexed<Double> doubleDictionary, FrontCodedIntArrayIndexed arrayDictionary, ColumnarInts encodedValueColumn, ImmutableBitmap nullValueBitmap, ColumnType logicalType, @Nullable Byte variantTypeSetByte)
-
-
Method Detail
-
getLogicalType
public ColumnType getLogicalType()
- Specified by:
getLogicalType
in interfaceNestedCommonFormatColumn
-
getStringDictionary
public Indexed<String> getStringDictionary()
- Specified by:
getStringDictionary
in interfaceNestedCommonFormatColumn
-
getLongDictionary
public Indexed<Long> getLongDictionary()
- Specified by:
getLongDictionary
in interfaceNestedCommonFormatColumn
-
getDoubleDictionary
public Indexed<Double> getDoubleDictionary()
- Specified by:
getDoubleDictionary
in interfaceNestedCommonFormatColumn
-
getArrayDictionary
public Indexed<Object[]> getArrayDictionary()
- Specified by:
getArrayDictionary
in interfaceNestedCommonFormatColumn
-
getFieldTypeInfo
public SortedMap<String,FieldTypeInfo.MutableTypeSet> getFieldTypeInfo()
- Specified by:
getFieldTypeInfo
in interfaceNestedCommonFormatColumn
-
length
public int length()
- Specified by:
length
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
hasMultipleValues
public boolean hasMultipleValues()
- Specified by:
hasMultipleValues
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
getSingleValueRow
public int getSingleValueRow(int rowNum)
- Specified by:
getSingleValueRow
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
getMultiValueRow
public IndexedInts getMultiValueRow(int rowNum)
- Specified by:
getMultiValueRow
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
lookupName
@Nullable public String lookupName(int id)
- Specified by:
lookupName
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
lookupId
public int lookupId(String val)
- Specified by:
lookupId
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
lookupIds
public it.unimi.dsi.fastutil.ints.IntSet lookupIds(String val)
-
getCardinality
public int getCardinality()
- Specified by:
getCardinality
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
makeDimensionSelector
public DimensionSelector makeDimensionSelector(ReadableOffset offset, @Nullable ExtractionFn extractionFn)
- Specified by:
makeDimensionSelector
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
makeColumnValueSelector
public ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset)
- Specified by:
makeColumnValueSelector
in interfaceBaseColumn
- Specified by:
makeColumnValueSelector
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
makeSingleValueDimensionVectorSelector
public SingleValueDimensionVectorSelector makeSingleValueDimensionVectorSelector(ReadableVectorOffset offset)
- Specified by:
makeSingleValueDimensionVectorSelector
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
makeMultiValueDimensionVectorSelector
public MultiValueDimensionVectorSelector makeMultiValueDimensionVectorSelector(ReadableVectorOffset vectorOffset)
- Specified by:
makeMultiValueDimensionVectorSelector
in interfaceDictionaryEncodedColumn<TStringDictionary extends Indexed<ByteBuffer>>
-
makeVectorValueSelector
public VectorValueSelector makeVectorValueSelector(ReadableVectorOffset offset)
- Specified by:
makeVectorValueSelector
in interfaceBaseColumn
-
makeVectorObjectSelector
public VectorObjectSelector makeVectorObjectSelector(ReadableVectorOffset offset)
- Specified by:
makeVectorObjectSelector
in interfaceBaseColumn
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
-