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/03/15 03:00:19 UTC

svn commit: r1081638 - in /pig/trunk: CHANGES.txt src/org/apache/pig/newplan/logical/rules/PushUpFilter.java test/org/apache/pig/test/TestPushUpFilter.java

Author: daijy
Date: Tue Mar 15 02:00:19 2011
New Revision: 1081638

URL: http://svn.apache.org/viewvc?rev=1081638&view=rev
Log:
Error message in 0.8 not much helpful as compared to 0.7

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/newplan/logical/rules/PushUpFilter.java
    pig/trunk/test/org/apache/pig/test/TestPushUpFilter.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1081638&r1=1081637&r2=1081638&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Mar 15 02:00:19 2011
@@ -345,6 +345,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1808: Error message in 0.8 not much helpful as compared to 0.7 (daijy)
+
 PIG-1850: Order by is failing with ClassCastException if schema is undefined
 for new logical plan in 0.8 (daijy)
 

Modified: pig/trunk/src/org/apache/pig/newplan/logical/rules/PushUpFilter.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/rules/PushUpFilter.java?rev=1081638&r1=1081637&r2=1081638&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/newplan/logical/rules/PushUpFilter.java (original)
+++ pig/trunk/src/org/apache/pig/newplan/logical/rules/PushUpFilter.java Tue Mar 15 02:00:19 2011
@@ -304,6 +304,8 @@ public class PushUpFilter extends Rule {
         // check if a relational operator contains all of the specified uids
         private boolean hasAll(LogicalRelationalOperator op, Set<Long> uids) throws FrontendException {
             LogicalSchema schema = op.getSchema();
+            if (schema==null)
+                return false;
             for(long uid: uids) {
                 if (schema.findField(uid) == -1) {
                     return false;

Modified: pig/trunk/test/org/apache/pig/test/TestPushUpFilter.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestPushUpFilter.java?rev=1081638&r1=1081637&r2=1081638&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestPushUpFilter.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestPushUpFilter.java Tue Mar 15 02:00:19 2011
@@ -1111,6 +1111,25 @@ public class TestPushUpFilter extends ju
         assertTrue(pushUpFilter.getPushBefore() == false);
         assertTrue(pushUpFilter.getPushBeforeInput() == -1);
     }
+    
+    // See PIG-1808
+    @Test
+    public void testJoinNoSchema() throws Exception {
+        planTester.buildPlan("A = load '1.txt';");
+        planTester.buildPlan("B = load '2.txt';");
+        planTester.buildPlan("c = join A by $1 left outer, B by $1;");        
+        LogicalPlan lp = planTester.buildPlan("d = filter c by $2 is null;");
+        
+        planTester.setPlan(lp);
+        planTester.setProjectionMap(lp);
+        
+        PushUpFilter pushUpFilter = new PushUpFilter(lp);
+        
+        assertTrue(!pushUpFilter.check(lp.getLeaves()));
+        assertTrue(pushUpFilter.getSwap() == false);
+        assertTrue(pushUpFilter.getPushBefore() == false);
+        assertTrue(pushUpFilter.getPushBeforeInput() == -1);
+    }
 
 }