Description
the following (invalid) script generates a NullPointerException:
C = FOREACH C GENERATE c1; ERROR 1200: null Failed to parse: null at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:180) at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1560) at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1533) at org.apache.pig.PigServer.registerQuery(PigServer.java:535) at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:969) at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69) at org.apache.pig.Main.run(Main.java:495) at org.apache.pig.Main.main(Main.java:111) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:186) Caused by: java.lang.NullPointerException at org.apache.pig.parser.LogicalPlanGenerator.alias_col_ref(LogicalPlanGenerator.java:14326) at org.apache.pig.parser.LogicalPlanGenerator.col_ref(LogicalPlanGenerator.java:14177) at org.apache.pig.parser.LogicalPlanGenerator.projectable_expr(LogicalPlanGenerator.java:8607) at org.apache.pig.parser.LogicalPlanGenerator.var_expr(LogicalPlanGenerator.java:8358) at org.apache.pig.parser.LogicalPlanGenerator.expr(LogicalPlanGenerator.java:7711) at org.apache.pig.parser.LogicalPlanGenerator.flatten_generated_item(LogicalPlanGenerator.java:5693) at org.apache.pig.parser.LogicalPlanGenerator.generate_clause(LogicalPlanGenerator.java:12307) at org.apache.pig.parser.LogicalPlanGenerator.foreach_plan(LogicalPlanGenerator.java:12048) at org.apache.pig.parser.LogicalPlanGenerator.foreach_clause(LogicalPlanGenerator.java:11915) at org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1364) at org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:683) at org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:483) at org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:369) at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:171) ... 15 more
When this one outputs the correct error:
D = FOREACH D GENERATE $0; ERROR 1200: Pig script failed to parse: <line 1, column 4> pig script failed to validate: Unrecognized alias D Failed to parse: Pig script failed to parse: <line 1, column 4> pig script failed to validate: Unrecognized alias D at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:178) at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1560) at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1533) at org.apache.pig.PigServer.registerQuery(PigServer.java:535) at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:969) at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69) at org.apache.pig.Main.run(Main.java:495) at org.apache.pig.Main.main(Main.java:111) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:186) Caused by: <line 1, column 4> pig script failed to validate: Unrecognized alias D at org.apache.pig.parser.LogicalPlanBuilder.buildOp(LogicalPlanBuilder.java:396) at org.apache.pig.parser.LogicalPlanBuilder.buildOp(LogicalPlanBuilder.java:384) at org.apache.pig.parser.LogicalPlanBuilder.buildForeachOp(LogicalPlanBuilder.java:448) at org.apache.pig.parser.LogicalPlanGenerator.foreach_clause(LogicalPlanGenerator.java:11931) at org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1364) at org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:683) at org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:483) at org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:369) at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:171) ... 15 more