Author: daijy
Date: Thu Jan 15 19:49:59 2015
New Revision: 1652257
URL: http://svn.apache.org/r1652257
Log:
PIG-4376: NullPointerException accessing a field of an invalid bag from a
nested foreach
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java
pig/trunk/test/org/apache/pig/parser/TestColumnAliasConversion.java
Modified: pig/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1652257&r1=1652256&r2=1652257&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Jan 15 19:49:59 2015
@@ -42,6 +42,9 @@ PIG-4333: Split BigData tests into multi
BUG FIXES
+PIG-4376: NullPointerException accessing a field of an invalid bag from a
nested foreach
+ (kspringborn via daijy)
+
PIG-4355: Piggybank: XPath cant handle namespace in xpath, nor can it return
more than one match
(cavanaug via daijy)
Modified:
pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java
URL:
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java?rev=1652257&r1=1652256&r2=1652257&view=diff
==============================================================================
---
pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java
(original)
+++
pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java
Thu Jan 15 19:49:59 2015
@@ -206,7 +206,7 @@ public class DereferenceExpression exten
throw new FrontendException("Index "+rawColumn + " out of
range in schema:" + schema.toString(false), 1127);
}
columns.add( (Integer)rawColumn );
- } else {
+ } else if (schema!=null) {
int pos = schema.getFieldPosition((String)rawColumn);
if( pos != -1) {
columns.add( pos );
Modified: pig/trunk/test/org/apache/pig/parser/TestColumnAliasConversion.java
URL:
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/parser/TestColumnAliasConversion.java?rev=1652257&r1=1652256&r2=1652257&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/parser/TestColumnAliasConversion.java
(original)
+++ pig/trunk/test/org/apache/pig/parser/TestColumnAliasConversion.java Thu Jan
15 19:49:59 2015
@@ -159,6 +159,22 @@ public class TestColumnAliasConversion {
Assert.fail( "Query should fail to validate." );
}
+ @Test
+ public void testInvalidNestedProjection() throws Exception {
+ String query = "A = load 'x' as (field);" +
+ "B = foreach A {" +
+ " C = LIMIT invalidName 1;" +
+ " generate C.foo;" +
+ "};";
+ try {
+ validate( query );
+ } catch(PlanValidationException ex) {
+ System.out.println(ex.getMessage());
+ return;
+ }
+ Assert.fail( "Query should fail to validate." );
+ }
+
private LogicalPlan validate(String query) throws RecognitionException,
ParsingFailureException, IOException {
LogicalPlan plan = ParserTestingUtils.generateLogicalPlan( query );
ColumnAliasConversionVisitor visitor = new
ColumnAliasConversionVisitor( plan );