diff --git a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/RepeatFunction.java b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/RepeatFunction.java index 6e5261e0f1..fa4e133ecb 100644 --- a/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/RepeatFunction.java +++ b/inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/RepeatFunction.java @@ -29,8 +29,9 @@ /** * RepeatFunction * description: repeat(string, numeric)--Repeat the string numeric times and return a new string + * replicate(string, numeric)--Repeat the string numeric times and return a new string */ -@TransformFunction(names = {"repeat"}) +@TransformFunction(names = {"repeat", "replicate"}) public class RepeatFunction implements ValueParser { private ValueParser stringParser; diff --git a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestRepeatFunction.java b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestRepeatFunction.java index e5f0d2d0fc..06a4b0bb25 100644 --- a/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestRepeatFunction.java +++ b/inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/function/string/TestRepeatFunction.java @@ -37,7 +37,7 @@ public void testRepeatFunction() throws Exception { TransformProcessor processor1 = TransformProcessor .create(config1, SourceDecoderFactory.createCsvDecoder(csvSource), SinkEncoderFactory.createKvEncoder(kvSink)); - // case1: replicate('apple', 2) + // case1: repeat('apple', 2) List output1 = processor1.transform("apple|banana|cloud|2|1|3", new HashMap<>()); Assert.assertEquals(1, output1.size()); Assert.assertEquals(output1.get(0), "result=appleapple"); @@ -46,16 +46,16 @@ public void testRepeatFunction() throws Exception { TransformProcessor processor2 = TransformProcessor .create(config2, SourceDecoderFactory.createCsvDecoder(csvSource), SinkEncoderFactory.createKvEncoder(kvSink)); - // case2: replicate('banana', 3) + // case2: repeat('banana', 3) List output2 = processor2.transform("apple|banana|cloud|1|3|3", new HashMap<>()); Assert.assertEquals(1, output2.size()); Assert.assertEquals(output2.get(0), "result=bananabananabanana"); - // case3: replicate('banana', 1) + // case3: repeat('banana', 1) List output3 = processor2.transform("apple|banana|cloud|1|1|3", new HashMap<>()); Assert.assertEquals(1, output2.size()); Assert.assertEquals(output3.get(0), "result=banana"); // case3: replicate('cloud', 0) - String transformSql3 = "select repeat(string3, numeric3) from source"; + String transformSql3 = "select replicate(string3, numeric3) from source"; TransformConfig config3 = new TransformConfig(transformSql3); TransformProcessor processor3 = TransformProcessor .create(config3, SourceDecoderFactory.createCsvDecoder(csvSource), @@ -63,5 +63,9 @@ public void testRepeatFunction() throws Exception { List output4 = processor3.transform("apple|banana|cloud|2|1|0", new HashMap<>()); Assert.assertEquals(1, output4.size()); Assert.assertEquals(output4.get(0), "result="); + // case4: replicate('banana', 2) + List output5 = processor2.transform("apple|cloud|banana|1|2|3", new HashMap<>()); + Assert.assertEquals(1, output5.size()); + Assert.assertEquals(output5.get(0), "result=cloudcloud"); } }