This is an automated email from the ASF dual-hosted git repository.
zyk 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 3f596c676f [IOTDB-3550]Fix show child nodes (#6598)
3f596c676f is described below
commit 3f596c676f0b81020db5fd143b103c0ab2196540
Author: Marcos_Zyk <[email protected]>
AuthorDate: Wed Jul 6 18:02:45 2022 +0800
[IOTDB-3550]Fix show child nodes (#6598)
[IOTDB-3550]Fix show child nodes #6598
---
.../execution/operator/schema/NodePathsConvertOperator.java | 3 +++
.../execution/operator/schema/SchemaQueryMergeOperator.java | 10 ++++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsConvertOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsConvertOperator.java
index e6bfa76e23..2af62ce754 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsConvertOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsConvertOperator.java
@@ -60,6 +60,9 @@ public class NodePathsConvertOperator implements
ProcessOperator {
@Override
public TsBlock next() {
TsBlock block = child.next();
+ if (block == null || block.isEmpty()) {
+ return null;
+ }
TsBlockBuilder tsBlockBuilder =
new
TsBlockBuilder(HeaderConstant.showChildNodesHeader.getRespDataTypes());
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
index 4902d36fe0..519cdce27e 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
@@ -51,14 +51,16 @@ public class SchemaQueryMergeOperator implements
ProcessOperator {
@Override
public TsBlock next() {
- return children.get(currentIndex).next();
+ if (children.get(currentIndex).hasNext()) {
+ return children.get(currentIndex).next();
+ } else {
+ currentIndex++;
+ return null;
+ }
}
@Override
public boolean hasNext() {
- while (currentIndex < children.size() &&
!children.get(currentIndex).hasNext()) {
- currentIndex++;
- }
return currentIndex < children.size();
}