Author: thejas Date: Tue Jul 27 17:38:26 2010 New Revision: 979781 URL: http://svn.apache.org/viewvc?rev=979781&view=rev Log: PIG-1034: Pig does not support ORDER ... BY group alias (zjffdu)
Modified: hadoop/pig/trunk/CHANGES.txt hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt hadoop/pig/trunk/test/org/apache/pig/test/TestOrderBy.java Modified: hadoop/pig/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=979781&r1=979780&r2=979781&view=diff ============================================================================== --- hadoop/pig/trunk/CHANGES.txt (original) +++ hadoop/pig/trunk/CHANGES.txt Tue Jul 27 17:38:26 2010 @@ -106,6 +106,8 @@ PIG-1309: Map-side Cogroup (ashutoshc) BUG FIXES +PIG-1034: Pig does not support ORDER ... BY group alias (zjffdu) + PIG-1445: Pig error: ERROR 2013: Moving LOLimit in front of LOStream is not implemented (daijy) PIG-348: -j command line option doesn't work (rding) Modified: hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt?rev=979781&r1=979780&r2=979781&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt (original) +++ hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt Tue Jul 27 17:38:26 2010 @@ -2108,6 +2108,22 @@ int ColNameOrNum(Schema over) : log.trace("Exiting ColNameOrNum"); return i; } + | + t = <GROUP> + { + try { + if ( over == null || (i = over.getPosition(t.image)) == -1) { + throw new ParseException("Invalid alias: " + t.image + " in " + over); + } + } catch (FrontendException fee) { + ParseException pe = new ParseException(fee.getMessage()); + pe.initCause(fee); + throw pe; + } + + log.trace("Exiting ColNameOrNum"); + return i; + } ) } Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestOrderBy.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestOrderBy.java?rev=979781&r1=979780&r2=979781&view=diff ============================================================================== --- hadoop/pig/trunk/test/org/apache/pig/test/TestOrderBy.java (original) +++ hadoop/pig/trunk/test/org/apache/pig/test/TestOrderBy.java Tue Jul 27 17:38:26 2010 @@ -227,5 +227,29 @@ public class TestOrderBy extends TestCas "org.apache.pig.test.OrdDescNumeric; generate flatten(D); };", false); } + + + // this test case is for JIRA_1034 + @Test + public void testOrderByGroup() throws Exception{ + tmpFile = File.createTempFile("test", "txt"); + PrintStream ps = new PrintStream(new FileOutputStream(tmpFile)); + for(int i = 0; i < 100; i++) { + ps.println(i); + } + ps.close(); + + pig.registerQuery("a = load 'file:" + tmpFile +"' as (f1:int);"); + pig.registerQuery("b = group a by $0;"); + pig.registerQuery("c = order b by group;"); + Iterator<Tuple> iter = pig.openIterator("c"); + int count = 0; + while(iter.hasNext()){ + Tuple tuple=iter.next(); + assertEquals(count, tuple.get(0)); + count++; + } + assertEquals(count, 100); + } }