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

yiguolei pushed a commit to branch dev-1.1.2
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/dev-1.1.2 by this push:
     new 1ee81bb483 [dev-1.1.2](cherry-pick) Ctas/ctl default timestamp #12020
1ee81bb483 is described below

commit 1ee81bb483fa8faf28afd42bdd496b37544ab94f
Author: Stalary <[email protected]>
AuthorDate: Wed Aug 24 14:21:10 2022 +0800

    [dev-1.1.2](cherry-pick) Ctas/ctl default timestamp #12020
---
 .../java/org/apache/doris/catalog/Catalog.java     | 22 ++++++++++++++++++----
 .../main/java/org/apache/doris/catalog/Column.java |  6 +++++-
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
index e5eb9c9232..b4bb47bd5f 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
@@ -266,6 +266,7 @@ import com.sleepycat.je.rep.NetworkRestore;
 import com.sleepycat.je.rep.NetworkRestoreConfig;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -3138,10 +3139,23 @@ public class Catalog {
                 } else {
                     typeDef = new TypeDef(resultExpr.getType());
                 }
-                createTableStmt.addColumnDef(new ColumnDef(name, typeDef, 
false,
-                        null, true,
-                        new DefaultValue(false, null),
-                        ""));
+                ColumnDef columnDef;
+                if (resultExpr.getSrcSlotRef() == null) {
+                    columnDef = new ColumnDef(name, typeDef, false, null, 
true, new DefaultValue(false, null), "");
+                } else {
+                    Column column = 
resultExpr.getSrcSlotRef().getDesc().getColumn();
+                    boolean setDefault = 
StringUtils.isNotBlank(column.getDefaultValue());
+                    DefaultValue defaultValue;
+                    if (column.getDefaultValueExprDef() != null) {
+                        defaultValue = new DefaultValue(setDefault, 
column.getDefaultValue(),
+                                column.getDefaultValueExprDef().getExprName());
+                    } else {
+                        defaultValue = new DefaultValue(setDefault, 
column.getDefaultValue());
+                    }
+                    columnDef = new ColumnDef(name, typeDef, column.isKey(), 
column.getAggregationType(),
+                            column.isAllowNull(), defaultValue, 
column.getComment());
+                }
+                createTableStmt.addColumnDef(columnDef);
                 // set first column as default distribution
                 if (createTableStmt.getDistributionDesc() == null && i == 0) {
                     createTableStmt.setDistributionDesc(new 
HashDistributionDesc(10, Lists.newArrayList(name)));
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Column.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Column.java
index a8b51ec719..f0f035df5f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Column.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Column.java
@@ -518,7 +518,11 @@ public class Column implements Writable {
             sb.append("NOT NULL ");
         }
         if (defaultValue != null && getDataType() != PrimitiveType.HLL && 
getDataType() != PrimitiveType.BITMAP) {
-            sb.append("DEFAULT \"").append(defaultValue).append("\" ");
+            if (defaultValueExprDef != null) {
+                sb.append("DEFAULT ").append(defaultValue).append(" ");
+            } else {
+                sb.append("DEFAULT \"").append(defaultValue).append("\" ");
+            }
         }
         sb.append("COMMENT \"").append(getComment(true)).append("\"");
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to