This is an automated email from the ASF dual-hosted git repository.
liudw pushed a commit to branch reverse_reader
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/reverse_reader by this push:
new 825620d fix asc all test error
825620d is described below
commit 825620ddc65d12ebf78590190cddc432dffed931
Author: liudw <[email protected]>
AuthorDate: Fri Aug 7 17:48:16 2020 +0800
fix asc all test error
---
.../query/reader/series/SeriesAggregateReader.java | 3 +-
.../reader/series/SeriesRawDataBatchReader.java | 4 +--
.../iotdb/db/query/reader/series/SeriesReader.java | 34 +++++++++++++---------
.../reader/series/SeriesReaderByTimestamp.java | 7 +++--
.../db/query/reader/series/SeriesReaderTest.java | 4 +--
5 files changed, 31 insertions(+), 21 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java
index be9afc4..bc4c20f 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.query.reader.series;
import org.apache.iotdb.db.engine.querycontext.QueryDataSource;
import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.query.filter.TsFileFilter;
+import org.apache.iotdb.db.query.reader.series.SeriesReader.AscTimeOrderUtils;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics;
import org.apache.iotdb.tsfile.read.common.BatchData;
@@ -39,7 +40,7 @@ public class SeriesAggregateReader implements
IAggregateReader {
QueryContext context, QueryDataSource dataSource, Filter timeFilter,
Filter valueFilter,
TsFileFilter fileFilter) {
this.seriesReader = new SeriesReader(seriesPath, allSensors, dataType,
context, dataSource,
- timeFilter, valueFilter, fileFilter);
+ timeFilter, valueFilter, fileFilter, true);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesRawDataBatchReader.java
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesRawDataBatchReader.java
index cdb0523..6f96c47 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesRawDataBatchReader.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesRawDataBatchReader.java
@@ -51,7 +51,7 @@ public class SeriesRawDataBatchReader implements
ManagedSeriesReader {
QueryContext context, QueryDataSource dataSource, Filter timeFilter,
Filter valueFilter,
TsFileFilter fileFilter) {
this.seriesReader = new SeriesReader(seriesPath, allSensors, dataType,
context, dataSource,
- timeFilter, valueFilter, fileFilter);
+ timeFilter, valueFilter, fileFilter, true);
}
@TestOnly
@@ -61,7 +61,7 @@ public class SeriesRawDataBatchReader implements
ManagedSeriesReader {
Set<String> allSensors = new HashSet<>();
allSensors.add(seriesPath.getMeasurement());
this.seriesReader = new SeriesReader(seriesPath, allSensors, dataType,
context,
- seqFileResource, unseqFileResource, timeFilter, valueFilter);
+ seqFileResource, unseqFileResource, timeFilter, valueFilter, true);
}
/**
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 9527244..1508024 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
@@ -213,25 +213,19 @@ public class SeriesReader {
*/
private TimeseriesMetadata firstTimeSeriesMetadata;
private final List<TimeseriesMetadata> seqTimeSeriesMetadata = new
LinkedList<>();
- private final PriorityQueue<TimeseriesMetadata> unSeqTimeSeriesMetadata =
- new PriorityQueue<>(orderUtils.comparingLong(
- timeSeriesMetadata ->
orderUtils.getOrderTime(timeSeriesMetadata.getStatistics())));
+ private final PriorityQueue<TimeseriesMetadata> unSeqTimeSeriesMetadata;
/*
* chunk cache
*/
private ChunkMetadata firstChunkMetadata;
- private final PriorityQueue<ChunkMetadata> cachedChunkMetadata =
- new PriorityQueue<>(orderUtils.comparingLong(
- chunkMetadata ->
orderUtils.getOrderTime(chunkMetadata.getStatistics())));
+ private final PriorityQueue<ChunkMetadata> cachedChunkMetadata;
/*
* page cache
*/
private VersionPageReader firstPageReader;
- private PriorityQueue<VersionPageReader> cachedPageReaders =
- new PriorityQueue<>(orderUtils.comparingLong(
- versionPageReader ->
orderUtils.getOrderTime(versionPageReader.getStatistics())));
+ private PriorityQueue<VersionPageReader> cachedPageReaders;
/*
* point cache
@@ -253,8 +247,6 @@ public class SeriesReader {
this.dataType = dataType;
this.context = context;
QueryUtils.filterQueryDataSource(dataSource, fileFilter);
- this.seqFileResource = new LinkedList<>(dataSource.getSeqResources());
- this.unseqFileResource =
sortUnSeqFileResources(dataSource.getUnseqResources());
this.timeFilter = timeFilter;
this.valueFilter = valueFilter;
if (ascending) {
@@ -262,6 +254,15 @@ public class SeriesReader {
} else {
this.orderUtils = new DescTimeOrderUtils();
}
+
+ this.seqFileResource = new LinkedList<>(dataSource.getSeqResources());
+ this.unseqFileResource =
sortUnSeqFileResources(dataSource.getUnseqResources());
+ unSeqTimeSeriesMetadata = new PriorityQueue<>(orderUtils.comparingLong(
+ timeSeriesMetadata ->
orderUtils.getOrderTime(timeSeriesMetadata.getStatistics())));
+ cachedChunkMetadata = new PriorityQueue<>(orderUtils.comparingLong(
+ chunkMetadata ->
orderUtils.getOrderTime(chunkMetadata.getStatistics())));
+ cachedPageReaders = new PriorityQueue<>(orderUtils.comparingLong(
+ versionPageReader ->
orderUtils.getOrderTime(versionPageReader.getStatistics())));
}
@TestOnly
@@ -272,8 +273,6 @@ public class SeriesReader {
this.allSensors = allSensors;
this.dataType = dataType;
this.context = context;
- this.seqFileResource = new LinkedList<>(seqFileResource);
- this.unseqFileResource = sortUnSeqFileResources(unseqFileResource);
this.timeFilter = timeFilter;
this.valueFilter = valueFilter;
if (ascending) {
@@ -281,6 +280,15 @@ public class SeriesReader {
} else {
this.orderUtils = new DescTimeOrderUtils();
}
+
+ this.seqFileResource = new LinkedList<>(seqFileResource);
+ this.unseqFileResource = sortUnSeqFileResources(unseqFileResource);
+ unSeqTimeSeriesMetadata = new PriorityQueue<>(orderUtils.comparingLong(
+ timeSeriesMetadata ->
orderUtils.getOrderTime(timeSeriesMetadata.getStatistics())));
+ cachedChunkMetadata = new PriorityQueue<>(orderUtils.comparingLong(
+ chunkMetadata ->
orderUtils.getOrderTime(chunkMetadata.getStatistics())));
+ cachedPageReaders = new PriorityQueue<>(orderUtils.comparingLong(
+ versionPageReader ->
orderUtils.getOrderTime(versionPageReader.getStatistics())));
}
public boolean isEmpty() {
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReaderByTimestamp.java
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReaderByTimestamp.java
index e7f5da6..41a7434 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReaderByTimestamp.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReaderByTimestamp.java
@@ -35,10 +35,11 @@ public class SeriesReaderByTimestamp implements
IReaderByTimestamp {
private SeriesReader seriesReader;
private BatchData batchData;
- public SeriesReaderByTimestamp(Path seriesPath, Set<String> allSensors,
TSDataType dataType, QueryContext context,
- QueryDataSource dataSource, TsFileFilter
fileFilter) {
+ public SeriesReaderByTimestamp(Path seriesPath, Set<String> allSensors,
TSDataType dataType,
+ QueryContext context,
+ QueryDataSource dataSource, TsFileFilter fileFilter) {
seriesReader = new SeriesReader(seriesPath, allSensors, dataType, context,
- dataSource, TimeFilter.gtEq(Long.MIN_VALUE), null, fileFilter);
+ dataSource, TimeFilter.gtEq(Long.MIN_VALUE), null, fileFilter, true);
}
public SeriesReaderByTimestamp(SeriesReader seriesReader) {
diff --git
a/server/src/test/java/org/apache/iotdb/db/query/reader/series/SeriesReaderTest.java
b/server/src/test/java/org/apache/iotdb/db/query/reader/series/SeriesReaderTest.java
index 861ef47..024f87d 100644
---
a/server/src/test/java/org/apache/iotdb/db/query/reader/series/SeriesReaderTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/query/reader/series/SeriesReaderTest.java
@@ -72,7 +72,7 @@ public class SeriesReaderTest {
allSensors.add("sensor0");
SeriesReader seriesReader = new SeriesReader(
new Path(SERIES_READER_TEST_SG + PATH_SEPARATOR + "device0",
"sensor0"), allSensors,
- TSDataType.INT32, new QueryContext(), seqResources, unseqResources,
null, null);
+ TSDataType.INT32, new QueryContext(), seqResources, unseqResources,
null, null, true);
IBatchReader batchReader = new SeriesRawDataBatchReader(seriesReader);
int count = 0;
while (batchReader.hasNextBatch()) {
@@ -107,7 +107,7 @@ public class SeriesReaderTest {
allSensors.add("sensor0");
SeriesReader seriesReader = new SeriesReader(
new Path(SERIES_READER_TEST_SG + PATH_SEPARATOR + "device0",
"sensor0"), allSensors,
- TSDataType.INT32, new QueryContext(), seqResources, unseqResources,
null, null);
+ TSDataType.INT32, new QueryContext(), seqResources, unseqResources,
null, null, true);
IPointReader pointReader = new SeriesRawDataPointReader(seriesReader);
long expectedTime = 0;
while (pointReader.hasNextTimeValuePair()) {