Class MultiColumnMerger

  • All Implemented Interfaces:
    ColumnMerger

    public class MultiColumnMerger
    extends java.lang.Object
    implements ColumnMerger
    has more than one input column, but these columns' time is overlapped
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void mergeColumn​(org.apache.iotdb.tsfile.read.common.block.TsBlock[] inputTsBlocks, int[] inputIndex, int[] updatedInputIndex, long currentTime, org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder columnBuilder)
      merge columns belonging to same series into one column, merge just one row whose time is equal to currentTime
      void mergeColumn​(org.apache.iotdb.tsfile.read.common.block.TsBlock[] inputTsBlocks, int[] inputIndex, int[] updatedInputIndex, org.apache.iotdb.tsfile.read.common.block.column.TimeColumnBuilder timeBuilder, long currentEndTime, org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder columnBuilder)
      merge columns belonging to same series into one column, merge until each input column's time is larger than currentEndTime
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MultiColumnMerger

        public MultiColumnMerger​(java.util.List<InputLocation> inputLocations)
    • Method Detail

      • mergeColumn

        public void mergeColumn​(org.apache.iotdb.tsfile.read.common.block.TsBlock[] inputTsBlocks,
                                int[] inputIndex,
                                int[] updatedInputIndex,
                                org.apache.iotdb.tsfile.read.common.block.column.TimeColumnBuilder timeBuilder,
                                long currentEndTime,
                                org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder columnBuilder)
        Description copied from interface: ColumnMerger
        merge columns belonging to same series into one column, merge until each input column's time is larger than currentEndTime
        Specified by:
        mergeColumn in interface ColumnMerger
        Parameters:
        inputTsBlocks - all source TsBlocks, some of which will contain source column
        inputIndex - start index for each source TsBlock and size of it is equal to inputTsBlocks, we should only read from this array and not update it because others will use the start index value in inputIndex array
        updatedInputIndex - current index for each source TsBlock after merging
        timeBuilder - result time column, which is already generated and used to indicate each row's timestamp
        currentEndTime - merge until each input column's time is larger than currentEndTime
        columnBuilder - used to write merged value into
      • mergeColumn

        public void mergeColumn​(org.apache.iotdb.tsfile.read.common.block.TsBlock[] inputTsBlocks,
                                int[] inputIndex,
                                int[] updatedInputIndex,
                                long currentTime,
                                org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder columnBuilder)
        Description copied from interface: ColumnMerger
        merge columns belonging to same series into one column, merge just one row whose time is equal to currentTime
        Specified by:
        mergeColumn in interface ColumnMerger
        Parameters:
        inputTsBlocks - all source TsBlocks, some of which will contain source column
        inputIndex - start index for each source TsBlock and size of it is equal to inputTsBlocks, we should only read from this array and not update it because others will use the start index value in inputIndex array
        updatedInputIndex - current index for each source TsBlock after merging
        currentTime - merge just one row whose time is equal to currentTime
        columnBuilder - used to write merged value into