Package org.apache.druid.segment
Interface DimensionMergerV9
- All Superinterfaces:
DimensionMerger
- All Known Implementing Classes:
AutoTypeColumnMerger,DictionaryEncodedColumnMerger,DoubleDimensionMergerV9,FloatDimensionMergerV9,LongDimensionMergerV9,NumericDimensionMergerV9,StringDimensionMergerV9
Processing related interface
DimensionMerger subclass to be used with IndexMergerV9.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidattachParent(DimensionMergerV9 parent, List<IndexableAdapter> projectionAdapters) Attaches theDimensionMergerV9of a "projection" parent column so that stuff like value dictionaries can be shared between parent and child.Return a ColumnDescriptor containing ColumnPartSerde objects appropriate for this DimensionMerger's value metadata, sequence of row values, and index structures.default voidSets this merger as the "parent" of another merger for a "projection", allowing for this merger to preserve any state which might be required for the projection mergers to do their thing.Methods inherited from interface org.apache.druid.segment.DimensionMerger
convertSortedSegmentRowValuesToMergedRowValues, hasOnlyNulls, processMergedRow, writeIndexes, writeMergedValueDictionary
-
Method Details
-
makeColumnDescriptor
ColumnDescriptor makeColumnDescriptor()Return a ColumnDescriptor containing ColumnPartSerde objects appropriate for this DimensionMerger's value metadata, sequence of row values, and index structures.- Returns:
- ColumnDescriptor that IndexMergerV9 will use to build a column.
-
markAsParent
default void markAsParent()Sets this merger as the "parent" of another merger for a "projection", allowing for this merger to preserve any state which might be required for the projection mergers to do their thing. This method MUST be called prior to performing any merge work. Typically, this method is only implemented ifattachParent(DimensionMergerV9, List)requires it. -
attachParent
default void attachParent(DimensionMergerV9 parent, List<IndexableAdapter> projectionAdapters) throws IOException Attaches theDimensionMergerV9of a "projection" parent column so that stuff like value dictionaries can be shared between parent and child. This method is called during merging instead ofDimensionMerger.writeMergedValueDictionary(List)if the parent column exists.- Throws:
IOException- See Also:
-