You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by pa...@apache.org on 2023/04/06 10:42:57 UTC
[doris] 01/01: fix mv match failed when aggregate function not materialized
This is an automated email from the ASF dual-hosted git repository.
panxiaolei pushed a commit to branch fix_0406
in repository https://gitbox.apache.org/repos/asf/doris.git
commit bf06517cbd77f4f6cbcd9047542cbe82ef621aba
Author: BiteTheDDDDt <px...@qq.com>
AuthorDate: Thu Apr 6 18:42:39 2023 +0800
fix mv match failed when aggregate function not materialized
---
.../java/org/apache/doris/planner/MaterializedViewSelector.java | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/MaterializedViewSelector.java b/fe/fe-core/src/main/java/org/apache/doris/planner/MaterializedViewSelector.java
index a3e7f2b0f8..94ce9e1b53 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/MaterializedViewSelector.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/MaterializedViewSelector.java
@@ -43,6 +43,7 @@ import com.google.common.collect.Sets;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -455,6 +456,14 @@ public class MaterializedViewSelector {
aggExpr.getTableIdToColumnNames(tableIdToAggColumnNames);
// count(*): tableIdToAggColumnNames is empty which must forbidden the SPJG MV.
// TODO(ml): support count(*)
+ List<SlotRef> slots = new ArrayList<>();
+ aggExpr.collect(SlotRef.class, slots);
+ if (!slots.isEmpty()) {
+ SlotDescriptor desc = ((SlotRef) slots.get(0)).getDesc();
+ if (desc != null && !desc.isMaterialized()) {
+ continue;
+ }
+ }
if (tableIdToAggColumnNames.size() != 1) {
reasonOfDisable = "aggExpr[" + aggExpr.debugString() + "] should involved only one column";
disableSPJGView = true;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org