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]