This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 5564a157b629844fa3e003fc2620030d38318c51 Author: zy-kkk <[email protected]> AuthorDate: Thu Aug 17 15:52:20 2023 +0800 [fix](jdbc catalog) fix DefaultValueExpr in Jdbc table column when CTAS (#22978) --- .../apache/doris/datasource/jdbc/client/JdbcMySQLClient.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java index a09077ac49..7d4f342ac5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java @@ -17,6 +17,7 @@ package org.apache.doris.datasource.jdbc.client; +import org.apache.doris.analysis.DefaultValueExprDef; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.ScalarType; @@ -197,10 +198,18 @@ public class JdbcMySQLClient extends JdbcClient { List<JdbcFieldSchema> jdbcTableSchema = getJdbcColumnsInfo(dbName, tableName); List<Column> dorisTableSchema = Lists.newArrayListWithCapacity(jdbcTableSchema.size()); for (JdbcFieldSchema field : jdbcTableSchema) { + DefaultValueExprDef defaultValueExprDef = null; + if (field.getDefaultValue() != null + && field.getDefaultValue().toLowerCase().startsWith("current_timestamp")) { + long precision = field.getDefaultValue().toLowerCase().contains("(") + ? Long.parseLong(field.getDefaultValue().toLowerCase() + .split("\\(")[1].split("\\)")[0]) : 0; + defaultValueExprDef = new DefaultValueExprDef("now", precision); + } dorisTableSchema.add(new Column(field.getColumnName(), jdbcTypeToDoris(field), field.isKey(), null, field.isAllowNull(), field.isAutoincrement(), field.getDefaultValue(), field.getRemarks(), - true, null, -1, null)); + true, defaultValueExprDef, -1, null)); } return dorisTableSchema; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
