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 <[email protected]>
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");
}
}