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"); } }