You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by xu...@apache.org on 2011/04/19 22:34:08 UTC

svn commit: r1095197 - in /pig/trunk: CHANGES.txt src/org/apache/pig/newplan/logical/expression/ProjectExpression.java test/org/apache/pig/parser/TestErrorHandling.java test/org/apache/pig/test/TestProjectRange.java

Author: xuefu
Date: Tue Apr 19 20:34:08 2011
New Revision: 1095197

URL: http://svn.apache.org/viewvc?rev=1095197&view=rev
Log:
PIG-1921: Improve error messages in new parser

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java
    pig/trunk/test/org/apache/pig/parser/TestErrorHandling.java
    pig/trunk/test/org/apache/pig/test/TestProjectRange.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1095197&r1=1095196&r2=1095197&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Apr 19 20:34:08 2011
@@ -32,6 +32,8 @@ PIG-1876: Typed map for Pig (daijy)
 
 IMPROVEMENTS
 
+PIG-1921: Improve error messages in new parser (xuefu)
+
 PIG-1996: Pig new parser fails to recognize PARALLEL keywords in a case (xuefu)
 
 PIG-1612: error reporting: PigException needs to have a way to indicate that 

Modified: pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java?rev=1095197&r1=1095196&r2=1095197&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java (original)
+++ pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java Tue Apr 19 20:34:08 2011
@@ -175,10 +175,11 @@ public class ProjectExpression extends C
         if( alias != null ) {
             int colNum = inputSchema == null ? -1 : inputSchema.getFieldPosition( alias );
             if( colNum == -1 ) {
-                throw new PlanValidationException( this,
-                        "Invalid field projection. Projected field [" + 
-                        alias + "] does not exist in schema: " +
-                        (inputSchema!=null?inputSchema.toString(false):"") + ".", 1025 );
+            	String msg = "Invalid field projection. Projected field [" + alias + "] does not exist";
+                if( inputSchema != null )
+                	msg += " in schema: " + inputSchema.toString( false );
+                msg += ".";
+                throw new PlanValidationException( this, msg, 1025 );
             }
             return colNum;
         } else {

Modified: pig/trunk/test/org/apache/pig/parser/TestErrorHandling.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/parser/TestErrorHandling.java?rev=1095197&r1=1095196&r2=1095197&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/parser/TestErrorHandling.java (original)
+++ pig/trunk/test/org/apache/pig/parser/TestErrorHandling.java Tue Apr 19 20:34:08 2011
@@ -220,4 +220,21 @@ public class TestErrorHandling {
         Assert.fail( "Testcase should fail" );
     }
 
+    @Test // PIG-1921
+    public void tesNegative13() throws IOException {
+        String query = "A = load 'x' as (u:int, v);\n" +
+                       "B = load 'y';\n" +
+                       "C = join A by u, B by w;";
+        try {
+            pig.registerQuery( query );
+        } catch(FrontendException ex) {
+        	String msg = ex.getMessage();
+            System.out.println( msg );
+            Assert.assertTrue( !msg.contains( "null") );
+            Assert.assertTrue( msg.contains( "Projected field [w] does not exist.") );
+            return;
+        }
+        Assert.fail( "Testcase should fail" );
+    }
+
 }

Modified: pig/trunk/test/org/apache/pig/test/TestProjectRange.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestProjectRange.java?rev=1095197&r1=1095196&r2=1095197&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestProjectRange.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestProjectRange.java Tue Apr 19 20:34:08 2011
@@ -398,7 +398,7 @@ public class TestProjectRange  {
             + "f = foreach l1 generate  a .. b;"
             ; 
         Util.checkExceptionMessage(query, "f",
-                "Invalid field projection. Projected field [a] does not exist in schema");
+                "Invalid field projection. Projected field [a] does not exist.");
     }
     
     /**