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