Class MultiColumnMerger
- java.lang.Object
-
- org.apache.iotdb.db.mpp.execution.operator.process.join.merge.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
-
-
Constructor Summary
Constructors Constructor Description MultiColumnMerger(java.util.List<InputLocation> inputLocations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidmergeColumn(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 currentTimevoidmergeColumn(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
-
-
-
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:ColumnMergermerge columns belonging to same series into one column, merge until each input column's time is larger than currentEndTime- Specified by:
mergeColumnin interfaceColumnMerger- Parameters:
inputTsBlocks- all source TsBlocks, some of which will contain source columninputIndex- 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 arrayupdatedInputIndex- current index for each source TsBlock after mergingtimeBuilder- result time column, which is already generated and used to indicate each row's timestampcurrentEndTime- merge until each input column's time is larger than currentEndTimecolumnBuilder- 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:ColumnMergermerge columns belonging to same series into one column, merge just one row whose time is equal to currentTime- Specified by:
mergeColumnin interfaceColumnMerger- Parameters:
inputTsBlocks- all source TsBlocks, some of which will contain source columninputIndex- 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 arrayupdatedInputIndex- current index for each source TsBlock after mergingcurrentTime- merge just one row whose time is equal to currentTimecolumnBuilder- used to write merged value into
-
-