This is an automated email from the ASF dual-hosted git repository. hui pushed a commit to branch lmh/FixOffsetPushDown in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c3230c5a691f2c7e79c0b7d74cd405d5428cf9e4 Author: liuminghui233 <[email protected]> AuthorDate: Thu Apr 13 22:08:57 2023 +0800 fix queryFilter in SeriesScanUtil --- .../db/mpp/execution/operator/source/SeriesScanOperator.java | 2 +- .../iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java | 10 ++-------- .../db/mpp/plan/planner/plan/parameter/SeriesScanOptions.java | 5 +---- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java index 2a315920f2..8ed87c5074 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java @@ -95,7 +95,7 @@ public class SeriesScanOperator extends AbstractDataSourceOperator { SeriesScanOptions.Builder scanOptionsBuilder = new SeriesScanOptions.Builder(); scanOptionsBuilder.withAllSensors(allSensors); scanOptionsBuilder.withGlobalTimeFilter(timeFilter); - scanOptionsBuilder.withQueryFilter(valueFilter); + scanOptionsBuilder.withQueryFilter(timeFilter); return new SeriesScanOperator( operatorContext, sourceId, diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java index 4e02b1c231..e883e8edaa 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java @@ -281,13 +281,10 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP SeriesScanOperator.class.getSimpleName()); Filter timeFilter = node.getTimeFilter(); - Filter valueFilter = node.getValueFilter(); SeriesScanOptions.Builder seriesScanOptionsBuilder = new SeriesScanOptions.Builder(); if (timeFilter != null) { seriesScanOptionsBuilder.withGlobalTimeFilter(timeFilter.copy()); - } - if (valueFilter != null) { - seriesScanOptionsBuilder.withGlobalTimeFilter(valueFilter.copy()); + seriesScanOptionsBuilder.withQueryFilter(timeFilter.copy()); } seriesScanOptionsBuilder.withAllSensors( context.getAllSensors(seriesPath.getDevice(), seriesPath.getMeasurement())); @@ -323,13 +320,10 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP AlignedSeriesScanOperator.class.getSimpleName()); Filter timeFilter = node.getTimeFilter(); - Filter valueFilter = node.getValueFilter(); SeriesScanOptions.Builder seriesScanOptionsBuilder = new SeriesScanOptions.Builder(); if (timeFilter != null) { seriesScanOptionsBuilder.withGlobalTimeFilter(timeFilter.copy()); - } - if (valueFilter != null) { - seriesScanOptionsBuilder.withGlobalTimeFilter(valueFilter.copy()); + seriesScanOptionsBuilder.withQueryFilter(timeFilter.copy()); } seriesScanOptionsBuilder.withLimit(node.getLimit()); seriesScanOptionsBuilder.withOffset(node.getOffset()); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/SeriesScanOptions.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/SeriesScanOptions.java index 7e3bcd6f29..c5032a0786 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/SeriesScanOptions.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/SeriesScanOptions.java @@ -29,7 +29,6 @@ import org.apache.iotdb.tsfile.read.reader.series.PaginationController; import java.util.Collections; import java.util.HashSet; -import java.util.Objects; import java.util.Set; public class SeriesScanOptions { @@ -50,9 +49,7 @@ public class SeriesScanOptions { long offset, Set<String> allSensors) { this.globalTimeFilter = globalTimeFilter; - if (!Objects.equals(globalTimeFilter, queryFilter)) { - this.queryFilter = queryFilter; - } + this.queryFilter = queryFilter; this.limit = limit; this.offset = offset; this.allSensors = allSensors;
