You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2016/05/16 06:44:20 UTC

tajo git commit: TAJO-2158: The concat_ws function can't support a tab separator.

Repository: tajo
Updated Branches:
  refs/heads/master f995e303b -> 4594b6116


TAJO-2158: The concat_ws function can't support a tab separator.

Closes #1023

Signed-off-by: Jihoon Son <ji...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/4594b611
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/4594b611
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/4594b611

Branch: refs/heads/master
Commit: 4594b6116f968af01a9bdabfec4a6fe2e244a469
Parents: f995e30
Author: Byunghwa Yun <co...@combineads.co.kr>
Authored: Mon May 16 15:41:49 2016 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Mon May 16 15:43:46 2016 +0900

----------------------------------------------------------------------
 CHANGES                                                        | 3 +++
 .../tajo/engine/function/TestStringOperatorsAndFunctions.java  | 6 ++++++
 .../java/org/apache/tajo/engine/function/string/Concat_ws.java | 3 ++-
 3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/4594b611/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 182f1d5..5e409c2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -149,6 +149,9 @@ Release 0.12.0 - unreleased
 
   BUG FIXES
 
+    TAJO-2158: The concat_ws function can't support a tab separator.
+    (Byunghwa Yun via jihoon)
+
     TAJO-2143: Fix race condition in task history writer. (jinho)
 
     TAJO-2140: TajoInternalError does not contains reason stack trace. (jinho)

http://git-wip-us.apache.org/repos/asf/tajo/blob/4594b611/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java
----------------------------------------------------------------------
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 a38eb71..e266409 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 class TestStringOperatorsAndFunctions extends ExprTestBase {
     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', '\ud55c\uae00', '22') ", new String[]{"\ud55c\uae00\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"});
   }
 }

http://git-wip-us.apache.org/repos/asf/tajo/blob/4594b611/tajo-core/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java
----------------------------------------------------------------------
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 bbddeb1..c160f24 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 class Concat_ws extends GeneralFunction {
       return NullDatum.get();
     }
 
-    String separator = params.getText(0);
+    String separator = StringEscapeUtils.unescapeJava(params.getText(0));
 
     StringBuilder result = new StringBuilder();