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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e443cbfaa [INLONG-11112][SDK] Transform TRUNCATE() function add pgsql 
name (#11113)
9e443cbfaa is described below

commit 9e443cbfaa17c085d0824d9d8f912b7ab2a96c03
Author: emptyOVO <118812562+empty...@users.noreply.github.com>
AuthorDate: Wed Sep 18 09:57:05 2024 +0800

    [INLONG-11112][SDK] Transform TRUNCATE() function add pgsql name (#11113)
---
 .../process/function/TruncateFunction.java         |  2 +-
 .../function/arithmetic/TestTruncateFunction.java  | 24 ++++++++++++++++++----
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git 
a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TruncateFunction.java
 
b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TruncateFunction.java
index 8267efff55..347f672352 100644
--- 
a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TruncateFunction.java
+++ 
b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TruncateFunction.java
@@ -39,7 +39,7 @@ import java.util.List;
  * for example: truncate(42.324, 2)--return 42.32
  *              truncate(42.324)--return 42.0
  */
-@TransformFunction(names = {"truncate"})
+@TransformFunction(names = {"truncate", "trunc"})
 public class TruncateFunction implements ValueParser {
 
     private ValueParser bigDecimalParser;
diff --git 
a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/arithmetic/TestTruncateFunction.java
 
b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/arithmetic/TestTruncateFunction.java
index ddc3cabf7c..35138ed508 100644
--- 
a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/arithmetic/TestTruncateFunction.java
+++ 
b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/arithmetic/TestTruncateFunction.java
@@ -52,15 +52,31 @@ public class TestTruncateFunction extends 
AbstractFunctionArithmeticTestBase {
         Assert.assertEquals(1, output3.size());
         Assert.assertEquals(output3.get(0), "result=12000");
 
-        String transformSql2 = "select truncate(numeric1) from source";
+        String transformSql2 = "select trunc(numeric1,numeric2) from source";
         TransformConfig config2 = new TransformConfig(transformSql2);
         TransformProcessor<String, String> processor2 = TransformProcessor
                 .create(config2, 
SourceDecoderFactory.createCsvDecoder(csvSource),
                         SinkEncoderFactory.createKvEncoder(kvSink));
 
-        // case4: truncate(12345)
-        List<String> output4 = processor2.transform("12345.6789|-3|6|8");
+        // case1: trunc(42.324, 2)
+        List<String> output4 = processor2.transform("42.324|2|6|8");
         Assert.assertEquals(1, output4.size());
-        Assert.assertEquals(output4.get(0), "result=12345");
+        Assert.assertEquals(output4.get(0), "result=42.32");
+
+        // case2: trunc(42.324, -1)
+        List<String> output5 = processor2.transform("42.324|-1|6|8");
+        Assert.assertEquals(1, output5.size());
+        Assert.assertEquals(output5.get(0), "result=40");
+
+        String transformSql3 = "select truncate(numeric1) from source";
+        TransformConfig config3 = new TransformConfig(transformSql3);
+        TransformProcessor<String, String> processor3 = TransformProcessor
+                .create(config3, 
SourceDecoderFactory.createCsvDecoder(csvSource),
+                        SinkEncoderFactory.createKvEncoder(kvSink));
+
+        // case4: truncate(12345.6789)
+        List<String> output6 = processor3.transform("12345.6789|-3|6|8");
+        Assert.assertEquals(1, output6.size());
+        Assert.assertEquals(output6.get(0), "result=12345");
     }
 }

Reply via email to