This is an automated email from the ASF dual-hosted git repository.

wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 6e33a97c86 [Fix] Fix Hana type converter decimal scale is 0 convert to 
int error (#7167)
6e33a97c86 is described below

commit 6e33a97c866d89c63793d297ab403e20c21d10d7
Author: Jia Fan <fanjiaemi...@qq.com>
AuthorDate: Thu Jul 18 23:03:27 2024 +0800

    [Fix] Fix Hana type converter decimal scale is 0 convert to int error 
(#7167)
---
 .../internal/dialect/saphana/SapHanaTypeConverter.java     |  2 +-
 .../internal/dialect/saphana/SapHanaTypeConverterTest.java | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverter.java
 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverter.java
index b9970ca7f0..89344b43ca 100644
--- 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverter.java
+++ 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverter.java
@@ -255,7 +255,7 @@ public class SapHanaTypeConverter implements 
TypeConverter<BasicTypeDefine> {
                     builder.dataType(new DecimalType((int) precision, 
MAX_SCALE));
                     builder.columnLength(precision);
                     builder.scale(MAX_SCALE);
-                } else if (scale <= 0) {
+                } else if (scale < 0) {
                     int newPrecision = (int) (precision - scale);
                     if (newPrecision == 1) {
                         builder.dataType(BasicType.SHORT_TYPE);
diff --git 
a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverterTest.java
 
b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverterTest.java
index 6a5ae0371f..69d01d32b0 100644
--- 
a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverterTest.java
+++ 
b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/saphana/SapHanaTypeConverterTest.java
@@ -169,6 +169,20 @@ public class SapHanaTypeConverterTest {
         Assertions.assertEquals(typeDefine2.getName(), column2.getName());
         Assertions.assertEquals(new DecimalType(10, 5), column2.getDataType());
         Assertions.assertEquals(typeDefine2.getColumnType(), 
column2.getSourceType());
+
+        BasicTypeDefine<Object> typeDefine3 =
+                BasicTypeDefine.builder()
+                        .name("test")
+                        .columnType("DECIMAL")
+                        .dataType("DECIMAL")
+                        .precision(10L)
+                        .length(10L)
+                        .scale(0)
+                        .build();
+        Column column3 = SapHanaTypeConverter.INSTANCE.convert(typeDefine3);
+        Assertions.assertEquals(typeDefine3.getName(), column3.getName());
+        Assertions.assertEquals(new DecimalType(10, 0), column3.getDataType());
+        Assertions.assertEquals(typeDefine3.getColumnType(), 
column3.getSourceType());
     }
 
     @Test

Reply via email to