This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 38dd009c380 [opt](Planner) convert varchar column to string when ctas
from external table (#34103)
38dd009c380 is described below
commit 38dd009c38048d0af473527e4f97701ca98e3671
Author: morrySnow <[email protected]>
AuthorDate: Fri Apr 26 07:21:28 2024 +0800
[opt](Planner) convert varchar column to string when ctas from external
table (#34103)
---
.../src/main/java/org/apache/doris/datasource/InternalCatalog.java | 5 +++++
.../data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out | 4 ++--
regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
index 538d34ca292..64cfc9b745a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
@@ -1235,6 +1235,11 @@ public class InternalCatalog implements
CatalogIf<Database> {
default:
throw new DdlException("Unsupported string type
for ctas");
}
+ if (resultExpr.getSrcSlotRef() != null
+ && resultExpr.getSrcSlotRef().getTable() != null
+ &&
!resultExpr.getSrcSlotRef().getTable().isManagedTable()) {
+ typeDef = new TypeDef(ScalarType.createStringType());
+ }
} else if (resultType.isDecimalV2() &&
resultType.equals(ScalarType.DECIMALV2)) {
typeDef = new TypeDef(ScalarType.createDecimalType(27, 9));
} else if (resultType.isDecimalV3()) {
diff --git
a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out
b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out
index b9604b55607..f81195948cf 100644
--- a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out
+++ b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out
@@ -346,7 +346,7 @@ binary TEXT Yes false \N NONE
bit TEXT Yes false \N NONE
blob TEXT Yes false \N NONE
boolean TINYINT Yes false \N NONE
-char VARCHAR(65533) Yes false \N NONE
+char TEXT Yes false \N NONE
date DATE Yes false \N NONE
datetime DATETIME Yes false \N NONE
decimal DECIMAL(12, 4) Yes false \N NONE
@@ -370,7 +370,7 @@ timestamp DATETIME(4) Yes false \N NONE
tinyint TINYINT Yes false \N NONE
tinyint_u SMALLINT Yes true \N
varbinary TEXT Yes false \N NONE
-varchar VARCHAR(10) Yes false \N NONE
+varchar TEXT Yes false \N NONE
year SMALLINT Yes false \N NONE
-- !mysql_view --
diff --git
a/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out
b/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out
index d63ee2c0bad..adb337bedd1 100644
--- a/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out
+++ b/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out
@@ -2239,7 +2239,7 @@ bit_value BOOLEAN Yes false \N NONE
bitn_value TEXT Yes false \N NONE
bitnv_value TEXT Yes false \N NONE
box_value TEXT Yes false \N NONE
-char_value VARCHAR(65533) Yes true \N
+char_value TEXT Yes false \N NONE
cidr_value TEXT Yes false \N NONE
circle_value TEXT Yes false \N NONE
date_value DATE Yes false \N NONE
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]