You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by rd...@apache.org on 2011/05/23 22:13:54 UTC

svn commit: r1126710 - in /pig/trunk: CHANGES.txt src/org/apache/pig/parser/PigMacro.java test/org/apache/pig/test/TestMacroExpansion.java

Author: rding
Date: Mon May 23 20:13:54 2011
New Revision: 1126710

URL: http://svn.apache.org/viewvc?rev=1126710&view=rev
Log:
PIG-2088: Return alias validation failed when there is single line comment in the macro

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/parser/PigMacro.java
    pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1126710&r1=1126709&r2=1126710&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon May 23 20:13:54 2011
@@ -229,6 +229,8 @@ PIG-1696: Performance: Use System.arrayc
 
 BUG FIXES
 
+PIG-2088: Return alias validation failed when there is single line comment in the macro (rding)
+
 PIG-2081: Dryrun gives wrong line numbers in error message for scripts containing macro (rding)
 
 PIG-2078: POProject.getNext(DataBag) does not handle null (daijy)

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=1126710&r1=1126709&r2=1126710&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/parser/PigMacro.java (original)
+++ pig/trunk/src/org/apache/pig/parser/PigMacro.java Mon May 23 20:13:54 2011
@@ -373,8 +373,10 @@ class PigMacro {
 
     private static void skipSingleLineComment(StreamTokenizer st)
             throws IOException {
+        int lineNo = st.lineno();
         int lookahead = st.nextToken();
         while (lookahead != StreamTokenizer.TT_EOF && lookahead != '\n') {
+            if (st.lineno() > lineNo) break;
             lookahead = st.nextToken();
         }
         st.pushBack();

Modified: pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java?rev=1126710&r1=1126709&r2=1126710&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestMacroExpansion.java Mon May 23 20:13:54 2011
@@ -1050,6 +1050,29 @@ public class TestMacroExpansion {
         validateFailure(macro + script, expectedErr);
     }
     
+    @Test // PIG-2088
+    public void checkReturnAliasTest3() throws Throwable {
+        String macro = "define group_and_count_2 (A,C) returns B {\n" +
+            "    -- D = JOIN $A BY user, $C BY user; \n" +
+            "    --D = JOIN $A BY user, $C BY user; \n" +
+            "    $B = JOIN $A BY user, $C BY user;\n" +
+            "};\n";
+        
+        String script = 
+            "alpha = load 'users' as (user, age, zip);\n" +
+            "beta = load 'links' as (user, link, view);\n" +
+            "gamma = group_and_count_2 (alpha,beta);\n" +
+            "store gamma into 'byuser';\n";
+        
+        String expected = 
+            "alpha = load 'users' as (user, age, zip);\n" +
+            "beta = load 'links' as (user, link, view);\n" +
+            "gamma = JOIN alpha BY (user), beta BY (user);\n" +
+            "store gamma INTO 'byuser';\n";
+
+        verify(macro + script, expected);
+    }
+    
     // PIG-1999: macro contains schema name that conflicts with alias
     @Test
     public void negativeTest7() throws Throwable {