From 3cf4f494442cc6c2cb4d1a6d4deea7d85131c239 Mon Sep 17 00:00:00 2001 From: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Date: Wed, 12 Apr 2023 19:58:30 +0800 Subject: [PATCH] [FixBug](jdbc Catalog) fix sqlserver column type mapping (#18518) For type int identity of sqlserver, the column type read from JDBC is called int indentity. So we need deal with this case. --- .../main/java/org/apache/doris/external/jdbc/JdbcClient.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java index 419ce7590a..316e5b00a0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java @@ -711,7 +711,10 @@ public class JdbcClient { } public Type sqlserverTypeToDoris(JdbcFieldSchema fieldSchema) { - String sqlserverType = fieldSchema.getDataTypeName(); + String originSqlserverType = fieldSchema.getDataTypeName(); + // For sqlserver IDENTITY type, such as 'INT IDENTITY' + // originSqlserverType is "int identity", so we only get "int". + String sqlserverType = originSqlserverType.split(" ")[0]; switch (sqlserverType) { case "bit": return Type.BOOLEAN;