From aec5bac498e1cc6b65a6401c4c984c95c096f1ee Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Tue, 4 Jul 2023 18:59:21 +0800 Subject: [PATCH] [improvement](jdbc)Support for automatically obtaining the precision of the hana timestamp type (#21380) --- .../apache/doris/external/jdbc/JdbcSapHanaClient.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcSapHanaClient.java b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcSapHanaClient.java index bbd322675e..07f7c2c53f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcSapHanaClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcSapHanaClient.java @@ -58,9 +58,14 @@ public class JdbcSapHanaClient extends JdbcClient { return Type.FLOAT; case "DOUBLE": return Type.DOUBLE; - case "TIMESTAMP": - // TIMESTAMP with 100 nanoseconds precision, will lose precision - return ScalarType.createDatetimeV2Type(6); + case "TIMESTAMP": { + // postgres can support microsecond + int scale = fieldSchema.getDecimalDigits(); + if (scale > 6) { + scale = 6; + } + return ScalarType.createDatetimeV2Type(scale); + } case "SECONDDATE": // SECONDDATE with second precision return ScalarType.createDatetimeV2Type(0);