You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by th...@apache.org on 2011/07/14 18:12:32 UTC

svn commit: r1146777 - in /pig/trunk: CHANGES.txt src/org/apache/pig/parser/QueryParser.g test/org/apache/pig/test/TestLimitVariable.java test/org/apache/pig/test/TestSample.java

Author: thejas
Date: Thu Jul 14 16:12:31 2011
New Revision: 1146777

URL: http://svn.apache.org/viewvc?rev=1146777&view=rev
Log:
PIG-2156: Limit/Sample with variable does not work if the expression starts
 with an integer/double (azaroth via thejas)


Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/parser/QueryParser.g
    pig/trunk/test/org/apache/pig/test/TestLimitVariable.java
    pig/trunk/test/org/apache/pig/test/TestSample.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1146777&r1=1146776&r2=1146777&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Jul 14 16:12:31 2011
@@ -75,6 +75,9 @@ PIG-2011: Speed up TestTypedMap.java (dv
 
 BUG FIXES
 
+PIG-2156: Limit/Sample with variable does not work if the expression starts 
+ with an integer/double (azaroth via thejas)
+
 PIG-2130: Piggybank:MultiStorage is not compressing output files (vivekp via daijy)
 
 PIG-2147: Support nested tags for XMLLoader (vivekp via daijy)

Modified: pig/trunk/src/org/apache/pig/parser/QueryParser.g
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/parser/QueryParser.g?rev=1146777&r1=1146776&r2=1146777&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/parser/QueryParser.g (original)
+++ pig/trunk/src/org/apache/pig/parser/QueryParser.g Thu Jul 14 16:12:31 2011
@@ -464,10 +464,10 @@ neg_expr : MINUS cast_expr
         -> ^( NEG cast_expr )
 ;
 
-limit_clause : LIMIT^ rel ( INTEGER | LONGINTEGER | expr )
+limit_clause : LIMIT^ rel ( (INTEGER SEMI_COLON) => INTEGER | (LONGINTEGER SEMI_COLON) => LONGINTEGER | expr )
 ;
 
-sample_clause : SAMPLE^ rel ( DOUBLENUMBER | expr )
+sample_clause : SAMPLE^ rel ( (DOUBLENUMBER SEMI_COLON) => DOUBLENUMBER | expr )
 ;
 
 order_clause : ORDER^ rel BY! order_by_clause ( USING! func_clause )?
@@ -588,7 +588,7 @@ nested_sort : ORDER^ nested_op_input BY!
 nested_distinct : DISTINCT^ nested_op_input
 ;
 
-nested_limit : LIMIT^ nested_op_input ( INTEGER | expr )
+nested_limit : LIMIT^ nested_op_input ( (INTEGER SEMI_COLON) => INTEGER | expr )
 ;
 
 nested_cross : CROSS^ nested_op_input_list

Modified: pig/trunk/test/org/apache/pig/test/TestLimitVariable.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestLimitVariable.java?rev=1146777&r1=1146776&r2=1146777&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestLimitVariable.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestLimitVariable.java Thu Jul 14 16:12:31 2011
@@ -99,6 +99,23 @@ public class TestLimitVariable {
         Util.checkQueryOutputs(itE, expectedResE);
     }
     
+    @Test
+    public void testLimitVariable3() throws IOException {
+        String query =
+            "a = load '" + inputFile.getName() + "' ;" +
+            "b = group a all;" + 
+            "c = foreach b generate COUNT(a) as sum;" + 
+            "d = order a by $0 ASC;" + 
+            "e = limit d 1 * c.sum;" // return all the tuples, test for PIG-2156
+            ;
+
+        Util.registerMultiLineQuery(pigServer, query);
+        Iterator<Tuple> itE = pigServer.openIterator("e");
+        List<Tuple> expectedResE = Util.getTuplesFromConstantTupleStrings(new String[] {
+                "(1,11)", "(2,3)", "(3,10)", "(4,11)", "(5,10)", "(6,15)" });
+        Util.checkQueryOutputs(itE, expectedResE);
+    }
+
     @Test(expected=FrontendException.class)
     public void testLimitVariableException1() throws Throwable {
         String query = 

Modified: pig/trunk/test/org/apache/pig/test/TestSample.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestSample.java?rev=1146777&r1=1146776&r2=1146777&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestSample.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestSample.java Thu Jul 14 16:12:31 2011
@@ -120,7 +120,7 @@ public class TestSample {
         verify("a = LOAD '" + tmpfilepath + "'; " +
                 "b = GROUP a all;" +
                 "c = FOREACH b GENERATE COUNT(a) AS count;" +
-                "myid = SAMPLE a (c.count / c.count);", DATALEN, DATALEN);
+                "myid = SAMPLE a 1.0 * (c.count / c.count) PARALLEL 2;", DATALEN, DATALEN); // test for PIG-2156
     }
     
     @Test