Skip to content

Commit

Permalink
fix push down count on index on MOW table
Browse files Browse the repository at this point in the history
  • Loading branch information
airborne12 committed Aug 31, 2023
1 parent 1877fc0 commit 7e3f28c
Showing 1 changed file with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
Expand Down Expand Up @@ -104,9 +105,7 @@ public List<Rule> buildRules() {
logicalProject(
logicalFilter(
logicalOlapScan().when(this::isDupOrMowKeyTable)
).when(filter -> containsMatchExpression(filter.getExpressions())
&& filter.getExpressions().size() == 1)
))
).when(filter -> containsMatchExpression(filter.getConjuncts()))))
.when(agg -> enablePushDownCountOnIndex())
.when(agg -> agg.getGroupByExpressions().size() == 0)
.when(agg -> {
Expand Down Expand Up @@ -212,8 +211,16 @@ && couldConvertToMulti(agg))
);
}

private boolean containsMatchExpression(List<Expression> expressions) {
return expressions.stream().allMatch(expr -> expr instanceof Match);
private boolean containsMatchExpression(Set<Expression> expressions) {
List<Expression> exprs = new ArrayList<>();
expressions.forEach(conjunct -> {
conjunct.getInputSlots().forEach(slot -> {
if (!slot.getName().equalsIgnoreCase(Column.DELETE_SIGN)) {
exprs.add(conjunct);
}
});
});
return exprs.stream().allMatch(expr -> expr instanceof Match);
}

private boolean enablePushDownCountOnIndex() {
Expand Down

0 comments on commit 7e3f28c

Please sign in to comment.