This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch IOTDB-6115
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/IOTDB-6115 by this push:
new 862b9034db7 add queryAllSensors
862b9034db7 is described below
commit 862b9034db74cfff803c507d3fd9f680f2f07d42
Author: JackieTien97 <[email protected]>
AuthorDate: Wed Aug 16 18:02:11 2023 +0800
add queryAllSensors
---
.../operator/source/AlignedSeriesScanOperator.java | 9 +++-
.../operator/source/AlignedSeriesScanUtil.java | 50 ++++++++++++++++------
.../db/queryengine/plan/analyze/Analysis.java | 12 ++++++
.../queryengine/plan/analyze/AnalyzeVisitor.java | 1 +
.../db/queryengine/plan/parser/ASTVisitor.java | 8 ++++
.../plan/planner/LogicalPlanBuilder.java | 10 ++++-
.../plan/planner/LogicalPlanVisitor.java | 6 ++-
.../plan/planner/OperatorTreeGenerator.java | 3 +-
.../plan/planner/plan/node/PlanGraphPrinter.java | 1 +
.../plan/node/source/AlignedSeriesScanNode.java | 37 +++++++++++++---
.../plan/statement/crud/QueryStatement.java | 12 ++++++
.../operator/AlignedSeriesScanOperatorTest.java | 15 ++++---
.../execution/operator/OperatorMemoryTest.java | 3 +-
13 files changed, 136 insertions(+), 31 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanOperator.java
index fcf04159acb..06e7953b715 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanOperator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanOperator.java
@@ -46,12 +46,17 @@ public class AlignedSeriesScanOperator extends
AbstractDataSourceOperator {
PlanNodeId sourceId,
AlignedPath seriesPath,
Ordering scanOrder,
- SeriesScanOptions seriesScanOptions) {
+ SeriesScanOptions seriesScanOptions,
+ boolean queryAllSensors) {
this.sourceId = sourceId;
this.operatorContext = context;
this.seriesScanUtil =
new AlignedSeriesScanUtil(
- seriesPath, scanOrder, seriesScanOptions,
context.getInstanceContext());
+ seriesPath,
+ scanOrder,
+ seriesScanOptions,
+ context.getInstanceContext(),
+ queryAllSensors);
// time + all value columns
this.builder = new TsBlockBuilder(seriesScanUtil.getTsDataTypeList());
this.valueColumnCount = seriesPath.getColumnNum();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
index d577023a5aa..7e20a1e4e82 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
@@ -49,16 +49,32 @@ public class AlignedSeriesScanUtil extends SeriesScanUtil {
private final List<TSDataType> dataTypes;
+ // only used for limit and offset push down optimizer, if we select all
columns from aligned
+ // device, we
+ // can use statistics to skip.
+ // it's only exact while using limit & offset push down
+ private boolean queryAllSensors = false;
+
public AlignedSeriesScanUtil(
PartialPath seriesPath,
Ordering scanOrder,
SeriesScanOptions scanOptions,
FragmentInstanceContext context) {
+ this(seriesPath, scanOrder, scanOptions, context, false);
+ }
+
+ public AlignedSeriesScanUtil(
+ PartialPath seriesPath,
+ Ordering scanOrder,
+ SeriesScanOptions scanOptions,
+ FragmentInstanceContext context,
+ boolean queryAllSensors) {
super(seriesPath, scanOrder, scanOptions, context);
dataTypes =
((AlignedPath) seriesPath)
.getSchemaList().stream().map(IMeasurementSchema::getType).collect(Collectors.toList());
isAligned = true;
+ this.queryAllSensors = queryAllSensors;
}
@SuppressWarnings("squid:S3740")
@@ -160,14 +176,20 @@ public class AlignedSeriesScanUtil extends SeriesScanUtil
{
long rowCount =
((AlignedTimeSeriesMetadata)
firstTimeSeriesMetadata).getTimeStatistics().getCount();
boolean canUse =
- ((AlignedTimeSeriesMetadata)
firstTimeSeriesMetadata).getValueStatisticsList().isEmpty();
- for (Statistics statistics :
- ((AlignedTimeSeriesMetadata)
firstTimeSeriesMetadata).getValueStatisticsList()) {
- if (statistics != null && !statistics.hasNullValue(rowCount)) {
- canUse = true;
- break;
+ queryAllSensors
+ || ((AlignedTimeSeriesMetadata) firstTimeSeriesMetadata)
+ .getValueStatisticsList()
+ .isEmpty();
+ if (!canUse) {
+ for (Statistics statistics :
+ ((AlignedTimeSeriesMetadata)
firstTimeSeriesMetadata).getValueStatisticsList()) {
+ if (statistics != null && !statistics.hasNullValue(rowCount)) {
+ canUse = true;
+ break;
+ }
}
}
+
if (!canUse) {
return;
}
@@ -200,12 +222,16 @@ public class AlignedSeriesScanUtil extends SeriesScanUtil
{
// NOTE: if we change the query semantic in the future for aligned series,
we need to remove
// this check here.
long rowCount = firstChunkMetadata.getStatistics().getCount();
- boolean canUse = ((AlignedChunkMetadata)
firstChunkMetadata).getValueStatisticsList().isEmpty();
- for (Statistics statistics :
- ((AlignedChunkMetadata) firstChunkMetadata).getValueStatisticsList()) {
- if (statistics != null && !statistics.hasNullValue(rowCount)) {
- canUse = true;
- break;
+ boolean canUse =
+ queryAllSensors
+ || ((AlignedChunkMetadata)
firstChunkMetadata).getValueStatisticsList().isEmpty();
+ if (!canUse) {
+ for (Statistics statistics :
+ ((AlignedChunkMetadata)
firstChunkMetadata).getValueStatisticsList()) {
+ if (statistics != null && !statistics.hasNullValue(rowCount)) {
+ canUse = true;
+ break;
+ }
}
}
if (!canUse) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
index 05329d849e2..1b900c0e425 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
@@ -255,6 +255,10 @@ public class Analysis {
// extra message from config node, queries wll be sent to these Running
DataNodes
private List<TDataNodeLocation> runningDataNodeLocations;
+ // used for limit and offset push down optimizer, if we select all columns
from aligned device, we
+ // can use statistics to skip
+ private boolean lastLevelUseWildcard = false;
+
public Analysis() {
this.finishQueryAfterAnalyze = false;
}
@@ -732,4 +736,12 @@ public class Analysis {
public Map<String, Set<Expression>> getDeviceToOutputExpressions() {
return deviceToOutputExpressions;
}
+
+ public boolean isLastLevelUseWildcard() {
+ return lastLevelUseWildcard;
+ }
+
+ public void setLastLevelUseWildcard(boolean lastLevelUseWildcard) {
+ this.lastLevelUseWildcard = lastLevelUseWildcard;
+ }
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index 50fa6b50988..5f56411ac91 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -226,6 +226,7 @@ public class AnalyzeVisitor extends
StatementVisitor<Analysis, MPPQueryContext>
@Override
public Analysis visitQuery(QueryStatement queryStatement, MPPQueryContext
context) {
Analysis analysis = new Analysis();
+ analysis.setLastLevelUseWildcard(queryStatement.isLastLevelUseWildcard());
try {
// check for semantic errors
queryStatement.semanticCheck();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index ce9bd6b11f4..15d078f79b4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -263,6 +263,8 @@ public class ASTVisitor extends
IoTDBSqlParserBaseVisitor<Statement> {
private boolean useWildcard = false;
+ private boolean lastLevelUseWildcard = false;
+
public void setZoneId(ZoneId zoneId) {
this.zoneId = zoneId;
}
@@ -1390,6 +1392,7 @@ public class ASTVisitor extends
IoTDBSqlParserBaseVisitor<Statement> {
}
queryStatement.setUseWildcard(useWildcard);
+ queryStatement.setLastLevelUseWildcard(lastLevelUseWildcard);
return queryStatement;
}
@@ -1938,6 +1941,11 @@ public class ASTVisitor extends
IoTDBSqlParserBaseVisitor<Statement> {
path[i] = parseNodeName(nodeNames.get(i));
}
}
+ if (!lastLevelUseWildcard
+ && !nodeNames.isEmpty()
+ && !nodeNames.get(nodeNames.size() - 1).wildcard().isEmpty()) {
+ lastLevelUseWildcard = true;
+ }
return new PartialPath(path);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
index 8914c948fab..31684bf0915 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
@@ -168,7 +168,10 @@ public class LogicalPlanBuilder {
}
public LogicalPlanBuilder planRawDataSource(
- Set<Expression> sourceExpressions, Ordering scanOrder, Filter
timeFilter) {
+ Set<Expression> sourceExpressions,
+ Ordering scanOrder,
+ Filter timeFilter,
+ boolean lastLevelUseWildcard) {
List<PlanNode> sourceNodeList = new ArrayList<>();
List<PartialPath> selectedPaths =
sourceExpressions.stream()
@@ -187,7 +190,10 @@ public class LogicalPlanBuilder {
} else if (path instanceof AlignedPath) { // aligned series
AlignedSeriesScanNode alignedSeriesScanNode =
new AlignedSeriesScanNode(
- context.getQueryId().genPlanNodeId(), (AlignedPath) path,
scanOrder);
+ context.getQueryId().genPlanNodeId(),
+ (AlignedPath) path,
+ scanOrder,
+ lastLevelUseWildcard);
alignedSeriesScanNode.setTimeFilter(timeFilter);
// TODO: push down value filter
alignedSeriesScanNode.setValueFilter(timeFilter);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
index 2ab1fac6bbc..86b98eda96a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
@@ -234,7 +234,8 @@ public class LogicalPlanVisitor extends
StatementVisitor<PlanNode, MPPQueryConte
.planRawDataSource(
sourceExpressions,
queryStatement.getResultTimeOrder(),
- analysis.getGlobalTimeFilter())
+ analysis.getGlobalTimeFilter(),
+ analysis.isLastLevelUseWildcard())
.planWhereAndSourceTransform(
whereExpression,
sourceTransformExpressions,
@@ -255,7 +256,8 @@ public class LogicalPlanVisitor extends
StatementVisitor<PlanNode, MPPQueryConte
.planRawDataSource(
sourceExpressions,
queryStatement.getResultTimeOrder(),
- analysis.getGlobalTimeFilter())
+ analysis.getGlobalTimeFilter(),
+ analysis.isLastLevelUseWildcard())
.planWhereAndSourceTransform(
whereExpression,
sourceTransformExpressions,
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index 4dfec56a44e..48d2417f8a5 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
@@ -344,7 +344,8 @@ public class OperatorTreeGenerator extends
PlanVisitor<Operator, LocalExecutionP
node.getPlanNodeId(),
seriesPath,
node.getScanOrder(),
- seriesScanOptionsBuilder.build());
+ seriesScanOptionsBuilder.build(),
+ node.isQueryAllSensors());
((DataDriverContext)
context.getDriverContext()).addSourceOperator(seriesScanOperator);
((DataDriverContext) context.getDriverContext()).addPath(seriesPath);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
index 08607d09cff..ec63414d2f7 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
@@ -125,6 +125,7 @@ public class PlanGraphPrinter extends
PlanVisitor<List<String>, PlanGraphPrinter
if (offset > 0) {
boxValue.add(String.format("Offset: %s", offset));
}
+ boxValue.add(String.format("QueryAllSensors: %s",
node.isQueryAllSensors()));
boxValue.add(printRegion(node.getRegionReplicaSet()));
return render(node, boxValue, context);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
index 655aa15c7c4..28cecd5f4e1 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
@@ -67,6 +67,10 @@ public class AlignedSeriesScanNode extends SeriesSourceNode {
// offset for result set. The default value is 0
private long offset;
+ // used for limit and offset push down optimizer, if we select all columns
from aligned device, we
+ // can use statistics to skip
+ private boolean queryAllSensors = false;
+
// The id of DataRegion where the node will run
private TRegionReplicaSet regionReplicaSet;
@@ -75,9 +79,11 @@ public class AlignedSeriesScanNode extends SeriesSourceNode {
this.alignedPath = alignedPath;
}
- public AlignedSeriesScanNode(PlanNodeId id, AlignedPath alignedPath,
Ordering scanOrder) {
+ public AlignedSeriesScanNode(
+ PlanNodeId id, AlignedPath alignedPath, Ordering scanOrder, boolean
lastLevelUseWildcard) {
this(id, alignedPath);
this.scanOrder = scanOrder;
+ this.queryAllSensors = lastLevelUseWildcard;
}
public AlignedSeriesScanNode(
@@ -88,8 +94,9 @@ public class AlignedSeriesScanNode extends SeriesSourceNode {
@Nullable Filter valueFilter,
long limit,
long offset,
- TRegionReplicaSet dataRegionReplicaSet) {
- this(id, alignedPath, scanOrder);
+ TRegionReplicaSet dataRegionReplicaSet,
+ boolean lastLevelUseWildcard) {
+ this(id, alignedPath, scanOrder, lastLevelUseWildcard);
this.timeFilter = timeFilter;
this.valueFilter = valueFilter;
this.limit = limit;
@@ -169,6 +176,10 @@ public class AlignedSeriesScanNode extends
SeriesSourceNode {
return NO_CHILD_ALLOWED;
}
+ public boolean isQueryAllSensors() {
+ return queryAllSensors;
+ }
+
@Override
public void addChild(PlanNode child) {
throw new UnsupportedOperationException("no child is allowed for
AlignedSeriesScanNode");
@@ -184,7 +195,8 @@ public class AlignedSeriesScanNode extends SeriesSourceNode
{
getValueFilter(),
getLimit(),
getOffset(),
- this.regionReplicaSet);
+ this.regionReplicaSet,
+ this.queryAllSensors);
}
@Override
@@ -221,6 +233,7 @@ public class AlignedSeriesScanNode extends SeriesSourceNode
{
}
ReadWriteIOUtils.write(limit, byteBuffer);
ReadWriteIOUtils.write(offset, byteBuffer);
+ ReadWriteIOUtils.write(queryAllSensors, byteBuffer);
}
@Override
@@ -242,6 +255,7 @@ public class AlignedSeriesScanNode extends SeriesSourceNode
{
}
ReadWriteIOUtils.write(limit, stream);
ReadWriteIOUtils.write(offset, stream);
+ ReadWriteIOUtils.write(queryAllSensors, stream);
}
public static AlignedSeriesScanNode deserialize(ByteBuffer byteBuffer) {
@@ -259,9 +273,18 @@ public class AlignedSeriesScanNode extends
SeriesSourceNode {
}
long limit = ReadWriteIOUtils.readLong(byteBuffer);
long offset = ReadWriteIOUtils.readLong(byteBuffer);
+ boolean queryAllSensors = ReadWriteIOUtils.readBool(byteBuffer);
PlanNodeId planNodeId = PlanNodeId.deserialize(byteBuffer);
return new AlignedSeriesScanNode(
- planNodeId, alignedPath, scanOrder, timeFilter, valueFilter, limit,
offset, null);
+ planNodeId,
+ alignedPath,
+ scanOrder,
+ timeFilter,
+ valueFilter,
+ limit,
+ offset,
+ null,
+ queryAllSensors);
}
@Override
@@ -282,6 +305,7 @@ public class AlignedSeriesScanNode extends SeriesSourceNode
{
&& scanOrder == that.scanOrder
&& Objects.equals(timeFilter, that.timeFilter)
&& Objects.equals(valueFilter, that.valueFilter)
+ && Objects.equals(queryAllSensors, that.queryAllSensors)
&& Objects.equals(regionReplicaSet, that.regionReplicaSet);
}
@@ -295,7 +319,8 @@ public class AlignedSeriesScanNode extends SeriesSourceNode
{
valueFilter,
limit,
offset,
- regionReplicaSet);
+ regionReplicaSet,
+ queryAllSensors);
}
public String toString() {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
index 973414be8e1..8179eda9fbd 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
@@ -114,6 +114,10 @@ public class QueryStatement extends Statement {
private boolean useWildcard = true;
+ // used for limit and offset push down optimizer, if we select all columns
from aligned device, we
+ // can use statistics to skip
+ private boolean lastLevelUseWildcard = false;
+
public QueryStatement() {
this.statementType = StatementType.QUERY;
}
@@ -465,6 +469,14 @@ public class QueryStatement extends Statement {
return useWildcard;
}
+ public boolean isLastLevelUseWildcard() {
+ return lastLevelUseWildcard;
+ }
+
+ public void setLastLevelUseWildcard(boolean lastLevelUseWildcard) {
+ this.lastLevelUseWildcard = lastLevelUseWildcard;
+ }
+
public static final String RAW_AGGREGATION_HYBRID_QUERY_ERROR_MSG =
"Raw data and aggregation hybrid query is not supported.";
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesScanOperatorTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesScanOperatorTest.java
index d01f187d40f..bc3dbe0cf90 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesScanOperatorTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesScanOperatorTest.java
@@ -127,7 +127,8 @@ public class AlignedSeriesScanOperatorTest {
planNodeId,
alignedPath,
Ordering.ASC,
- getDefaultSeriesScanOptions(alignedPath));
+ getDefaultSeriesScanOptions(alignedPath),
+ false);
seriesScanOperator.initQueryDataSource(new QueryDataSource(seqResources,
unSeqResources));
seriesScanOperator
.getOperatorContext()
@@ -220,7 +221,8 @@ public class AlignedSeriesScanOperatorTest {
planNodeId1,
alignedPath1,
Ordering.ASC,
- getDefaultSeriesScanOptions(alignedPath1));
+ getDefaultSeriesScanOptions(alignedPath1),
+ false);
seriesScanOperator1.initQueryDataSource(new
QueryDataSource(seqResources, unSeqResources));
seriesScanOperator1
.getOperatorContext()
@@ -241,7 +243,8 @@ public class AlignedSeriesScanOperatorTest {
planNodeId2,
alignedPath2,
Ordering.ASC,
- getDefaultSeriesScanOptions(alignedPath2));
+ getDefaultSeriesScanOptions(alignedPath2),
+ false);
seriesScanOperator2.initQueryDataSource(new
QueryDataSource(seqResources, unSeqResources));
seriesScanOperator2
.getOperatorContext()
@@ -509,7 +512,8 @@ public class AlignedSeriesScanOperatorTest {
planNodeId1,
alignedPath1,
Ordering.DESC,
- getDefaultSeriesScanOptions(alignedPath1));
+ getDefaultSeriesScanOptions(alignedPath1),
+ false);
seriesScanOperator1.initQueryDataSource(new
QueryDataSource(seqResources, unSeqResources));
seriesScanOperator1
.getOperatorContext()
@@ -530,7 +534,8 @@ public class AlignedSeriesScanOperatorTest {
planNodeId2,
alignedPath2,
Ordering.DESC,
- getDefaultSeriesScanOptions(alignedPath2));
+ getDefaultSeriesScanOptions(alignedPath2),
+ false);
seriesScanOperator2.initQueryDataSource(new
QueryDataSource(seqResources, unSeqResources));
seriesScanOperator2
.getOperatorContext()
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
index ba76afd9f58..ad3065bc6ee 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
@@ -191,7 +191,8 @@ public class OperatorMemoryTest {
planNodeId,
alignedPath,
Ordering.ASC,
- SeriesScanOptions.getDefaultSeriesScanOptions(alignedPath));
+ SeriesScanOptions.getDefaultSeriesScanOptions(alignedPath),
+ false);
long maxPeekMemory =
Math.max(