This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch fix_cnf
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/fix_cnf by this push:
     new 3aa11db90ae fix predicate cannot be normalized
3aa11db90ae is described below

commit 3aa11db90aeafed40507ca0536eed230c0f75c01
Author: Beyyes <[email protected]>
AuthorDate: Tue Jul 30 18:25:15 2024 +0800

    fix predicate cannot be normalized
---
 .../analyzer/predicate/PredicateCombineIntoTableScanChecker.java  | 3 +--
 .../analyzer/predicate/PredicatePushIntoMetadataChecker.java      | 3 +--
 .../planner/optimizations/PushPredicateIntoTableScan.java         | 8 --------
 3 files changed, 2 insertions(+), 12 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
index 755c0217507..91ce64398ef 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
@@ -82,8 +82,7 @@ public class PredicateCombineIntoTableScanChecker extends 
PredicateVisitor<Boole
   @Override
   protected Boolean visitLogicalExpression(LogicalExpression node, Void 
context) {
     if (node.getOperator() == LogicalExpression.Operator.AND) {
-      throw new IllegalStateException(
-          "Shouldn't have AND operator in 
PredicateCombineIntoTableScanChecker.");
+      return false;
     }
 
     List<Expression> children = node.getTerms();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
index ce2abed5127..7c9c066b2d1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
@@ -85,8 +85,7 @@ public class PredicatePushIntoMetadataChecker extends 
PredicateVisitor<Boolean,
   @Override
   protected Boolean visitLogicalExpression(LogicalExpression node, Void 
context) {
     if (node.getOperator() == LogicalExpression.Operator.AND) {
-      throw new IllegalStateException(
-          "Shouldn't have AND operator in PredicatePushIntoMetadataChecker.");
+      return false;
     }
     List<Expression> children = node.getTerms();
     for (Expression child : children) {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
index 45f2e6c8b9f..0fc783013ce 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
@@ -137,14 +137,6 @@ public class PushPredicateIntoTableScan implements 
PlanOptimizer {
           return node;
         }
 
-        // for predicate which is not cnf normalized
-        if (predicate instanceof LogicalExpression
-            && ((LogicalExpression) predicate).getOperator() == 
LogicalExpression.Operator.OR
-            && ((LogicalExpression) predicate).getTerms().size() > 1) {
-          node.setChild(node.getChild().accept(this, context));
-          return node;
-        }
-
         if (node.getChild() instanceof TableScanNode) {
           // child of FilterNode is TableScanNode, means FilterNode must get 
from where clause
           return combineFilterAndScan((TableScanNode) node.getChild());

Reply via email to