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.");
}
/**