This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 2df6c8418f5 [fix](meta) fix Unknown column 'mva_SUM__CAST` (#41284)
2df6c8418f5 is described below

commit 2df6c8418f5092a6a4d7f1da93c77fdd34a449d3
Author: 924060929 <924060...@qq.com>
AuthorDate: Fri Sep 27 18:01:21 2024 +0800

    [fix](meta) fix Unknown column 'mva_SUM__CAST` (#41284)
    
    cherry pick from master #41283
---
 .../apache/doris/catalog/MaterializedIndexMeta.java   | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndexMeta.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndexMeta.java
index 23b0a353366..4ab0c536aec 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndexMeta.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndexMeta.java
@@ -18,6 +18,7 @@
 package org.apache.doris.catalog;
 
 import org.apache.doris.analysis.Analyzer;
+import org.apache.doris.analysis.CastExpr;
 import org.apache.doris.analysis.CreateMaterializedViewStmt;
 import org.apache.doris.analysis.Expr;
 import org.apache.doris.analysis.SlotRef;
@@ -202,6 +203,24 @@ public class MaterializedIndexMeta implements Writable, 
GsonPostProcessable {
                 }
             }
 
+            boolean isCastSlot =
+                    entry.getValue() instanceof CastExpr && 
entry.getValue().getChild(0) instanceof SlotRef;
+
+            // Compatibility code for older versions of mv
+            // old version:
+            // goods_number -> mva_SUM__CAST(`goods_number` AS BIGINT)
+            // new version:
+            // goods_number -> mva_SUM__CAST(`goods_number` AS bigint)
+            if (isCastSlot && !match) {
+                for (Column column : schema) {
+                    if (column.getName().equalsIgnoreCase(entry.getKey())) {
+                        column.setDefineExpr(entry.getValue());
+                        match = true;
+                        break;
+                    }
+                }
+            }
+
             if (!match) {
                 // Compatibility code for older versions of mv
                 // store_id -> mv_store_id


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to