[ https://issues.apache.org/jira/browse/PIG-2593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287596#comment-13287596 ]
Jie Li commented on PIG-2593: ----------------------------- I got slightly different results: ||Case||Description||Query||Result|| |1|declare as boolean and filter as boolean|a = load 'allscalar10k' as (name, age, gpa, instate:boolean); b = filter a by instate==TRUE; dump b;|successful| |2|explicitly cast to boolean|a = load 'allscalar10k' as (name, age, gpa, instate); b = filter a by (boolean) instate == TRUE; dump b;|successful| |3|implicitly conversion to string|a = load 'allscalar10k' as (name, age, gpa, instate); b = filter a by instate == 'true'; dump b;|successful| |4|implicitly conversion to boolean|a = load 'allscalar10k' as (name, age, gpa, instate); b = filter a by instate==TRUE; dump b;|Error:In alias b, incompatible types in Equal Operator left hand side:bytearray right hand side:boolean| |5|declare as boolean and filter| a = load 'allscalar10k' as (name, age, gpa, instate:boolean); b = filter a by instate; dump b;|Error: <file 2.pig, line 2, column 23> mismatched input ';' expecting IS| So we have two cases not working here. We want to make Case 4 work by supporting implicit conversion of boolean, as we've already supported implicit conversion of chararray in Case 3. Also it makes sense that Case 5 should work as boolean is a valid conditional expression. > Filter by a boolean value does not work > --------------------------------------- > > Key: PIG-2593 > URL: https://issues.apache.org/jira/browse/PIG-2593 > Project: Pig > Issue Type: Bug > Components: build > Reporter: Daniel Dai > > The following script does not work: > {code} > a = load 'allscalar10k' as (name, age, gpa, instate); > b = filter a by instate; > explain b; > {code} > Exception: > ERROR 1200: <file 18.pig, line 2, column 23> mismatched input ';' expecting > IS > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during > parsing. <file 18.pig, line 2, column 23> mismatched input ';' expecting IS > 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) > Caused by: Failed to parse: <file 18.pig, line 2, column 23> mismatched > input ';' expecting IS > at > org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:222) > at > org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:164) > at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1590) > ... 9 more > It works if we change the script into: > {code} > a = load 'allscalar10k' as (name, age, gpa, instate); > b = filter a by instate==TRUE; > explain b; > {code} -- 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