diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPartitionInfo.java index 868c8713ef597f..b6fbe19b446fa6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPartitionInfo.java @@ -28,6 +28,8 @@ import com.google.common.collect.Sets; import com.google.gson.annotations.SerializedName; import org.apache.commons.collections.CollectionUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.IOException; import java.util.List; @@ -38,6 +40,7 @@ * MTMVPartitionInfo */ public class MTMVPartitionInfo implements GsonPostProcessable { + private static final Logger LOG = LogManager.getLogger(MTMVPartitionInfo.class); public enum MTMVPartitionType { FOLLOW_BASE_TABLE, @@ -196,7 +199,7 @@ public String toInfoString() { + "partitionType=" + partitionType + ", pctInfos=" + pctInfos + ", partitionCol='" + partitionCol + '\'' - + ", expr='" + expr + '\'' + + ", expr='" + getExprString() + '\'' + '}'; } @@ -210,11 +213,24 @@ public String toNameString() { + "partitionType=" + partitionType + ", pctInfos=" + pctInfos + ", partitionCol='" + partitionCol + '\'' - + ", expr='" + expr + '\'' + + ", expr='" + getExprString() + '\'' + '}'; } } + private String getExprString() { + if (expr == null) { + return null; + } + try { + return MTMVPartitionExprFactory.getExprService(expr).toSql(this); + } catch (AnalysisException e) { + // should not happen + LOG.warn("getExprString", e); + return null; + } + } + public void compatible(CatalogMgr catalogMgr) throws Exception { if (relatedTable == null) { return; diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java index a29915a846166c..2a5f8fba6688b2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java @@ -41,6 +41,7 @@ import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.job.exception.JobException; import org.apache.doris.mtmv.MTMVPartitionInfo.MTMVPartitionType; import org.apache.doris.nereids.NereidsPlanner; @@ -440,6 +441,12 @@ public static MTMVAnalyzeQueryInfo analyzeQuery(ConnectContext ctx, Map