You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ch...@apache.org on 2013/03/15 17:56:18 UTC
svn commit: r1457017 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/parser/PigMacro.java
test/org/apache/pig/test/TestSplit.java
Author: cheolsoo
Date: Fri Mar 15 16:56:18 2013
New Revision: 1457017
URL: http://svn.apache.org/r1457017
Log:
PIG-3239: Unable to return multiple values from a macro using SPLIT (dreambird via cheolsoo)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/parser/PigMacro.java
pig/trunk/test/org/apache/pig/test/TestSplit.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1457017&r1=1457016&r2=1457017&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Mar 15 16:56:18 2013
@@ -137,6 +137,8 @@ PIG-3013: BinInterSedes improve chararra
BUG FIXES
+PIG-3239: Unable to return multiple values from a macro using SPLIT (dreambird via cheolsoo)
+
PIG-3077: TestMultiQueryLocal should not write in /tmp (dreambird via cheolsoo)
PIG-3081: Pig progress stays at 0% for the first job in hadoop 23 (rohini)
Modified: pig/trunk/src/org/apache/pig/parser/PigMacro.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/PigMacro.java?rev=1457017&r1=1457016&r2=1457017&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/trunk/src/org/apache/pig/parser/PigMacro.java Fri Mar 15 16:56:18 2013
@@ -298,7 +298,7 @@ class PigMacro {
testSet.add(st.sval.substring(1));
} else if (matchDollarAlias(st, false)) {
String prevWord = st.sval;
- if (matchWord(st, "if", true)) {
+ if (matchWord(st, "if", true) || matchWord(st, "otherwise", true)) {
testSet.add(prevWord.substring(1));
} else if (matchChar(st, '=', true) && !matchChar(st, '=', true)) {
testSet.add(prevWord.substring(1));
Modified: pig/trunk/test/org/apache/pig/test/TestSplit.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestSplit.java?rev=1457017&r1=1457016&r2=1457017&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestSplit.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestSplit.java Fri Mar 15 16:56:18 2013
@@ -74,6 +74,27 @@ public class TestSplit {
Util.checkQueryOutputsAfterSort(it, expectedRes);
}
+ @Test
+ public void testSplitMacro() throws IOException {
+ String query =
+ "define split_into_two (A,key) returns B, C {" +
+ " SPLIT $A INTO $B IF $key<4, $C OTHERWISE;" +
+ "};" +
+ "a = load '" + file.getAbsolutePath() + "' as (id:int);" +
+ "B, C = split_into_two(a, id);"
+ ;
+
+ Util.registerMultiLineQuery(pig, query);
+ Iterator<Tuple> it = pig.openIterator("B");
+
+ List<Tuple> expectedRes = Util.getTuplesFromConstantTupleStrings(new String[] { "(1)", "(2)", "(3)" });
+ Util.checkQueryOutputsAfterSort(it, expectedRes);
+
+ it = pig.openIterator("C");
+ expectedRes = Util.getTuplesFromConstantTupleStrings(new String[] { "(4)", "(5)", "(6)" });
+ Util.checkQueryOutputsAfterSort(it, expectedRes);
+ }
+
@Test(expected=FrontendException.class)
public void testSplitNondeterministic() throws IOException {
String query =