BinCond only works inside parentheses
-------------------------------------

                 Key: PIG-2595
                 URL: https://issues.apache.org/jira/browse/PIG-2595
             Project: Pig
          Issue Type: Bug
            Reporter: Daniel Dai
             Fix For: 0.11


Not sure if we have a Jira for this before. This script does not work:
{code}
a = load '/user/pig/tests/data/singlefile/studenttab10k' using PigStorage() as 
(name, age:int, gpa:double, instate:chararray);
b = foreach a generate name, instate=='true'?gpa:gpa+1;
dump b;
{code}
If we put bincond into parentheses, it works
{code}
a = load '/user/pig/tests/data/singlefile/studenttab10k' using PigStorage() as 
(name, age:int, gpa:double, instate:chararray);
b = foreach a generate name, (instate=='true'?gpa:gpa+1);
dump b;
{code}

Exception:
ERROR 1200: <file 40.pig, line 2, column 36>  mismatched input '==' expecting 
SEMI_COLON

org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during 
parsing. <file 40.pig, line 2, column 36>  mismatched input '==' expecting 
SEMI_COLON
        at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1598)
        at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1541)
        at org.apache.pig.PigServer.registerQuery(PigServer.java:541)
        at 
org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:945)
        at 
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:392)
        at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:190)
        at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166)
        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
        at org.apache.pig.Main.run(Main.java:599)
        at org.apache.pig.Main.main(Main.java:153)
        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:156)
Caused by: Failed to parse: <file 40.pig, line 2, column 36>  mismatched input 
'==' expecting SEMI_COLON
        at 
org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:226)
        at 
org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:168)
        at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1590)
        ... 14 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to