[opt](Nereids) let inverted index work with top opt (#29000)

This commit is contained in:
morrySnow
2023-12-26 15:50:56 +08:00
committed by GitHub
parent 31db633624
commit 3ea9ff7d4a

View File

@ -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(