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 14538d1d92 [INLONG-11209][SDK] Transform TRIM() function add usage of 
BTRIM() (#11231)
14538d1d92 is described below

commit 14538d1d92db4e5f7fd0709651671486d2c2993a
Author: emptyOVO <118812562+empty...@users.noreply.github.com>
AuthorDate: Tue Oct 8 13:06:04 2024 +0800

    [INLONG-11209][SDK] Transform TRIM() function add usage of BTRIM() (#11231)
---
 .../transform/process/function/TrimFunction.java   |  3 +-
 .../process/function/string/TestTrimFunction.java  | 32 ++++++++++++++++++++--
 2 files changed, 32 insertions(+), 3 deletions(-)

diff --git 
a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TrimFunction.java
 
b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TrimFunction.java
index 7727d6dd52..79b0581fd4 100644
--- 
a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TrimFunction.java
+++ 
b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/TrimFunction.java
@@ -27,8 +27,9 @@ import net.sf.jsqlparser.expression.Function;
 /**
  * TrimFunction
  * description: trim(string)--Remove Spaces before and after the string.
+ *              btrim(string)--Remove Spaces before and after the string.
  */
-@TransformFunction(names = {"trim"})
+@TransformFunction(names = {"trim", "btrim"})
 public class TrimFunction implements ValueParser {
 
     private ValueParser stringParser;
diff --git 
a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestTrimFunction.java
 
b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestTrimFunction.java
index d3e9db029d..ea7c1a6329 100644
--- 
a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestTrimFunction.java
+++ 
b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestTrimFunction.java
@@ -51,13 +51,41 @@ public class TestTrimFunction extends 
AbstractFunctionStringTestBase {
         Assert.assertEquals(1, output2.size());
         Assert.assertEquals(output2.get(0), "result=in long");
         String transformSql3 = "select trim(string2) from source";
-        TransformConfig config3 = new TransformConfig(transformSql2);
+        TransformConfig config3 = new TransformConfig(transformSql3);
         TransformProcessor<String, String> processor3 = TransformProcessor
-                .create(config2, 
SourceDecoderFactory.createCsvDecoder(csvSource),
+                .create(config3, 
SourceDecoderFactory.createCsvDecoder(csvSource),
                         SinkEncoderFactory.createKvEncoder(kvSink));
         // case3: trim(' in long ')
         List<String> output3 = processor3.transform(" in long|in long | in 
long ", new HashMap<>());
         Assert.assertEquals(1, output3.size());
         Assert.assertEquals(output3.get(0), "result=in long");
+
+        String transformSql4 = "select btrim(string1) from source";
+        TransformConfig config4 = new TransformConfig(transformSql4);
+        TransformProcessor<String, String> processor4 = TransformProcessor
+                .create(config4, 
SourceDecoderFactory.createCsvDecoder(csvSource),
+                        SinkEncoderFactory.createKvEncoder(kvSink));
+        // case4: btrim(' in long')
+        List<String> output4 = processor4.transform(" in long|in long | in 
long ", new HashMap<>());
+        Assert.assertEquals(1, output4.size());
+        Assert.assertEquals(output4.get(0), "result=in long");
+        String transformSql5 = "select btrim(string2) from source";
+        TransformConfig config5 = new TransformConfig(transformSql5);
+        TransformProcessor<String, String> processor5 = TransformProcessor
+                .create(config5, 
SourceDecoderFactory.createCsvDecoder(csvSource),
+                        SinkEncoderFactory.createKvEncoder(kvSink));
+        // case5: btrim('in long ')
+        List<String> output5 = processor5.transform(" in long|in long | in 
long ", new HashMap<>());
+        Assert.assertEquals(1, output5.size());
+        Assert.assertEquals(output5.get(0), "result=in long");
+        String transformSql6 = "select btrim(string2) from source";
+        TransformConfig config6 = new TransformConfig(transformSql6);
+        TransformProcessor<String, String> processor6 = TransformProcessor
+                .create(config6, 
SourceDecoderFactory.createCsvDecoder(csvSource),
+                        SinkEncoderFactory.createKvEncoder(kvSink));
+        // case6: btrim(' in long ')
+        List<String> output6 = processor6.transform(" in long|in long | in 
long ", new HashMap<>());
+        Assert.assertEquals(1, output6.size());
+        Assert.assertEquals(output6.get(0), "result=in long");
     }
 }

Reply via email to