Class AlignedDescPriorityMergeReader
- java.lang.Object
-
- org.apache.iotdb.db.query.reader.universal.PriorityMergeReader
-
- org.apache.iotdb.db.query.reader.universal.DescPriorityMergeReader
-
- org.apache.iotdb.db.query.reader.universal.AlignedDescPriorityMergeReader
-
- All Implemented Interfaces:
org.apache.iotdb.tsfile.read.reader.IPointReader
public class AlignedDescPriorityMergeReader extends DescPriorityMergeReader
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.iotdb.db.query.reader.universal.PriorityMergeReader
PriorityMergeReader.MergeReaderPriority
-
-
Field Summary
-
Fields inherited from class org.apache.iotdb.db.query.reader.universal.PriorityMergeReader
currentReadStopTime, heap
-
-
Constructor Summary
Constructors Constructor Description AlignedDescPriorityMergeReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfillNullValue(org.apache.iotdb.tsfile.read.TimeValuePair v, org.apache.iotdb.tsfile.read.TimeValuePair c)In the case of aligned time seres, like d1.s1, d1.s2, d1.s3, we may first only write d1.s2, d1.s3 (2, 3)and then flush it into one tsfile, and then an unseq record come, it contains only d1.s1 and d1.s3 -> (10,30).-
Methods inherited from class org.apache.iotdb.db.query.reader.universal.DescPriorityMergeReader
addReader
-
Methods inherited from class org.apache.iotdb.db.query.reader.universal.PriorityMergeReader
addReader, close, currentTimeValuePair, getCurrentReadStopTime, hasNextTimeValuePair, nextTimeValuePair, updateHeap
-
-
-
-
Method Detail
-
fillNullValue
protected void fillNullValue(org.apache.iotdb.tsfile.read.TimeValuePair v, org.apache.iotdb.tsfile.read.TimeValuePair c)In the case of aligned time seres, like d1.s1, d1.s2, d1.s3, we may first only write d1.s2, d1.s3 (2, 3)and then flush it into one tsfile, and then an unseq record come, it contains only d1.s1 and d1.s3 -> (10,30). So now we have [null, 2, 3] with low priority and [10, null, 30] with high priority. we use [null, 2, 3] to fill null value in [10, null, 30], so we get [10, 2, 30], we won't use 3 to replace 30, because [10, null, 30] has higher priority- Overrides:
fillNullValuein classPriorityMergeReader- Parameters:
v- TimeValuePair with high priority needs to be filledc- TimeValuePair with low priority is used to fill the v
-
-