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 5416b4430f3 Fixed the filter logic in FilterContainsVisitor
5416b4430f3 is described below

commit 5416b4430f3955a6f90e8cf99ab75c272e9f3218
Author: Caideyipi <[email protected]>
AuthorDate: Mon Aug 12 11:08:22 2024 +0800

    Fixed the filter logic in FilterContainsVisitor
---
 .../schemaregion/utils/filter/FilterContainsVisitor.java       | 10 +++++++++-
 .../iotdb/commons/schema/filter/SchemaFilterVisitor.java       |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/filter/FilterContainsVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/filter/FilterContainsVisitor.java
index 5a3505f8e3f..e4a5ba65452 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/filter/FilterContainsVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/filter/FilterContainsVisitor.java
@@ -22,12 +22,20 @@ package 
org.apache.iotdb.db.schemaengine.schemaregion.utils.filter;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
 import org.apache.iotdb.commons.schema.filter.SchemaFilterType;
 import org.apache.iotdb.commons.schema.filter.SchemaFilterVisitor;
+import org.apache.iotdb.commons.schema.filter.impl.multichildren.AndFilter;
+import org.apache.iotdb.commons.schema.filter.impl.multichildren.OrFilter;
 
 /** This Visitor is used to determine if the SchemaFilter tree contains a 
certain type of Filter. */
 public class FilterContainsVisitor extends 
SchemaFilterVisitor<SchemaFilterType> {
 
   @Override
-  protected Boolean visitNode(SchemaFilter filter, SchemaFilterType 
schemaFilterType) {
+  protected Boolean visitNode(final SchemaFilter filter, final 
SchemaFilterType schemaFilterType) {
     return filter != null && 
filter.getSchemaFilterType().equals(schemaFilterType);
   }
+
+  @Override
+  public Boolean visitAndFilter(
+      final AndFilter andFilter, final SchemaFilterType schemaFilterType) {
+    return new OrFilter(andFilter.getChildren()).accept(this, 
schemaFilterType);
+  }
 }
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterVisitor.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterVisitor.java
index 5a421937db7..03643af152b 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterVisitor.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterVisitor.java
@@ -77,7 +77,7 @@ public abstract class SchemaFilterVisitor<C> {
     return visitFilter(templateFilter, context);
   }
 
-  public final Boolean visitAndFilter(final AndFilter andFilter, final C 
context) {
+  public Boolean visitAndFilter(final AndFilter andFilter, final C context) {
     Boolean result = Boolean.TRUE;
     for (final SchemaFilter child : andFilter.getChildren()) {
       final Boolean childResult = child.accept(this, context);

Reply via email to