This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch UnseqImprove
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/UnseqImprove by this push:
new 9770de8 add some todo
9770de8 is described below
commit 9770de8de06e3dfb2cddf870a128589a85474e2b
Author: JackieTien97 <[email protected]>
AuthorDate: Sat Oct 10 10:26:22 2020 +0800
add some todo
---
.../iotdb/db/query/reader/series/SeriesReader.java | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
index 2054f87..9d02268 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
@@ -96,12 +96,12 @@ public class SeriesReader {
*/
private VersionPageReader firstPageReader;
private final List<VersionPageReader> seqPageReaders = new LinkedList<>();
- private PriorityQueue<VersionPageReader> unseqPageReaders;
+ private final PriorityQueue<VersionPageReader> unseqPageReaders;
/*
* point cache
*/
- private PriorityMergeReader mergeReader;
+ private final PriorityMergeReader mergeReader;
/*
* result cache
@@ -464,8 +464,20 @@ public class SeriesReader {
unpackOneChunkMetaData(firstChunkMetadata);
firstChunkMetadata = null;
}
- if (init && firstPageReader == null && !unseqPageReaders.isEmpty()) {
- firstPageReader = unseqPageReaders.poll();
+ if (init && firstPageReader == null && (!seqPageReaders.isEmpty() ||
!unseqPageReaders.isEmpty())) {
+ // TODO think over desc
+ if (!seqPageReaders.isEmpty() && !unseqPageReaders.isEmpty()) {
+ if (seqPageReaders.get(0).getStatistics().getStartTime() <
unseqPageReaders.peek()
+ .getStatistics().getStartTime()) {
+ firstPageReader = seqPageReaders.remove(0);
+ } else {
+ firstPageReader = unseqPageReaders.poll();
+ }
+ } else if (!seqPageReaders.isEmpty()) {
+ firstPageReader = seqPageReaders.remove(0);
+ } else {
+ firstPageReader = unseqPageReaders.poll();
+ }
}
}
@@ -474,6 +486,7 @@ public class SeriesReader {
FileLoaderUtils.loadPageReaderList(chunkMetaData, timeFilter).forEach(
pageReader -> {
if (chunkMetaData.isSeq()) {
+ // TODO think over desc: addFirst for desc; addLast for asc
seqPageReaders.add(new
VersionPageReader(chunkMetaData.getVersion(), pageReader, true));
} else {
unseqPageReaders
@@ -666,6 +679,7 @@ public class SeriesReader {
/*
* init firstPageReader
*/
+ // TODO
if (firstPageReader == null) {
if (!seqPageReaders.isEmpty() && !unseqPageReaders.isEmpty()) {
if (seqPageReaders.get(0).getStatistics().getStartTime() <
unseqPageReaders.peek()