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

svn commit: r1071896 - in /pig/branches/branch-0.8: CHANGES.txt src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java test/org/apache/pig/test/TestEvalPipeline2.java

Author: daijy
Date: Fri Feb 18 06:14:24 2011
New Revision: 1071896

URL: http://svn.apache.org/viewvc?rev=1071896&view=rev
Log:
PIG-1850: Order by is failing with ClassCastException if schema is undefined for new logical plan in 0.8

Modified:
    pig/branches/branch-0.8/CHANGES.txt
    pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java
    pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java

Modified: pig/branches/branch-0.8/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/CHANGES.txt?rev=1071896&r1=1071895&r2=1071896&view=diff
==============================================================================
--- pig/branches/branch-0.8/CHANGES.txt (original)
+++ pig/branches/branch-0.8/CHANGES.txt Fri Feb 18 06:14:24 2011
@@ -213,6 +213,9 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1850: Order by is failing with ClassCastException if schema is undefined
+for new logical plan in 0.8 (daijy)
+
 PIG-1831: Indeterministic behavior in local mode due to static variable PigMapReduce.sJobConf (daijy)
 
 PIG-1841: TupleSize implemented incorrectly (laukik via daijy)

Modified: pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java?rev=1071896&r1=1071895&r2=1071896&view=diff
==============================================================================
--- pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java (original)
+++ pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LOInnerLoad.java Fri Feb 18 06:14:24 2011
@@ -81,6 +81,9 @@ public class LOInnerLoad extends Logical
                     schema.addField(prj.getFieldSchema());
                 }
             }
+        } else if (!prj.isProjectStar()) {
+            schema = new LogicalSchema();
+            schema.addField(new LogicalFieldSchema(null, null, DataType.BYTEARRAY));
         }
         return schema;
     }

Modified: pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java?rev=1071896&r1=1071895&r2=1071896&view=diff
==============================================================================
--- pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java (original)
+++ pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java Fri Feb 18 06:14:24 2011
@@ -1185,4 +1185,24 @@ public class TestEvalPipeline2 extends T
         assertTrue(t.toString().contains("({(1,1)})"));
         assertFalse(iter.hasNext());
     }
+    
+    // See PIG-1850
+    @Test
+    public void testProjectNullSchema() throws Exception{
+        String[] input = {
+                "0\t1",
+        };
+        
+        Util.createInputFile(cluster, "table_testProjectNullSchema", input);
+
+        pigServer.registerQuery("a = load 'table_testProjectNullSchema';");
+        pigServer.registerQuery("b = foreach a generate ASIN($0), $1;");
+        pigServer.registerQuery("c = order b by $0;");
+        
+        Iterator<Tuple> iter = pigServer.openIterator("c");
+        
+        Tuple t = iter.next();
+        assertTrue(t.toString().contains("(0.0,1)"));
+        assertFalse(iter.hasNext());
+    }
 }