diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java index a38eb71858..e266409d67 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java @@ -639,5 +639,11 @@ public void testConcat_ws() throws TajoException { testSimpleEval("select concat_ws(',', '22', null) ", new String[]{"22"}); testSimpleEval("select concat_ws(',', '22', '33', '33') ", new String[]{"22,33,33"}); testSimpleEval("select concat_ws(',', null, '22') ", new String[]{"22"}); + + testSimpleEval("select concat_ws('\t', '333', '22') ", new String[]{"333\t22"}); + testSimpleEval("select concat_ws('\t', '한글', '22') ", new String[]{"한글\t22"}); + testSimpleEval("select concat_ws('\t', '22', null) ", new String[]{"22"}); + testSimpleEval("select concat_ws('\t', '22', '33', '33') ", new String[]{"22\t33\t33"}); + testSimpleEval("select concat_ws('\t', null, '22') ", new String[]{"22"}); } } diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java b/tajo-core/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java index bbddeb16d6..c160f24738 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java @@ -19,6 +19,7 @@ package org.apache.tajo.engine.function.string; import com.google.gson.annotations.Expose; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.tajo.catalog.Column; import org.apache.tajo.common.TajoDataTypes; import org.apache.tajo.datum.Datum; @@ -60,7 +61,7 @@ public Datum eval(Tuple params) { return NullDatum.get(); } - String separator = params.getText(0); + String separator = StringEscapeUtils.unescapeJava(params.getText(0)); StringBuilder result = new StringBuilder();