This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new cc3c442a1e2 Return empty result set for non aligned series when no
filed columns can be obtained from view
cc3c442a1e2 is described below
commit cc3c442a1e21bff51bd362378fa0401a788d14fe
Author: shuwenwei <[email protected]>
AuthorDate: Tue Jun 17 14:25:03 2025 +0800
Return empty result set for non aligned series when no filed columns can be
obtained from view
---
.../db/queryengine/plan/planner/TableOperatorGenerator.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java
index 15866d0e6e8..2132df0af1d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java
@@ -451,9 +451,22 @@ public class TableOperatorGenerator extends
PlanVisitor<Operator, LocalExecution
TypeFactory.getType(columnSchema.getDataType()),
false,
columnSchema.getColumnCategory()));
+ containsFieldColumn = true;
}
}
}
+ // For non-aligned series, scan cannot be performed when no field columns
+ // can be obtained, so an empty result set is returned.
+ if (!containsFieldColumn || node.getDeviceEntries().isEmpty()) {
+ OperatorContext operatorContext =
+ context
+ .getDriverContext()
+ .addOperatorContext(
+ context.getNextOperatorId(),
+ node.getPlanNodeId(),
+ EmptyDataOperator.class.getSimpleName());
+ return new EmptyDataOperator(operatorContext);
+ }
String treePrefixPath = DataNodeTreeViewSchemaUtils.getPrefixPath(tsTable);
IDeviceID.TreeDeviceIdColumnValueExtractor extractor =
TableOperatorGenerator.createTreeDeviceIdColumnValueExtractor(treePrefixPath);