From 3ea9ff7d4a6e86904f18702c10e533b85e361c51 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Tue, 26 Dec 2023 15:50:56 +0800 Subject: [PATCH] [opt](Nereids) let inverted index work with top opt (#29000) --- .../doris/nereids/rules/analysis/CheckAfterRewrite.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java index 26bb35192a..c43d794035 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java @@ -38,6 +38,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.GroupingScala import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.algebra.Generate; import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; +import org.apache.doris.nereids.trees.plans.logical.LogicalDeferMaterializeOlapScan; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; import org.apache.doris.nereids.trees.plans.logical.LogicalSort; @@ -175,7 +176,8 @@ public class CheckAfterRewrite extends OneAnalysisRuleFactory { private void checkMatchIsUsedCorrectly(Plan plan) { if (plan.getExpressions().stream().anyMatch( expression -> expression instanceof Match)) { - if (plan instanceof LogicalFilter && plan.child(0) instanceof LogicalOlapScan) { + if (plan instanceof LogicalFilter && (plan.child(0) instanceof LogicalOlapScan + || plan.child(0) instanceof LogicalDeferMaterializeOlapScan)) { return; } else { throw new AnalysisException(String.format(