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);