You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Ashish Thusoo (JIRA)" <ji...@apache.org> on 2009/03/11 19:36:50 UTC

[jira] Commented: (HIVE-67) Short-circuiting of the OR operator doesn't seem to be happening

    [ https://issues.apache.org/jira/browse/HIVE-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680971#action_12680971 ] 

Ashish Thusoo commented on HIVE-67:
-----------------------------------

Why is this a blocker?

There is a work around for this no?


> Short-circuiting of the OR operator doesn't seem to be happening
> ----------------------------------------------------------------
>
>                 Key: HIVE-67
>                 URL: https://issues.apache.org/jira/browse/HIVE-67
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: Venky Iyer
>            Priority: Blocker
>
> An example case is
> select t.date from t where t.date = '' or month(t.date) = '12'; 
> This still seems to be produce errors like 
> java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.Boolean org.apache.hadoop.hive.ql.udf.UDFBaseCompare.evaluate(java.lang.Number,java.lang.String)  on object org.apache.hadoop.hive.ql.udf.UDFOPEqual@14e0e90 of class org.apache.hadoop.hive.ql.udf.UDFOPEqual with arguments {null, 05:java.lang.String} of size 2:null
> 	at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:169)
> 	at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:391)
> 	at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2139)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.Boolean org.apache.hadoop.hive.ql.udf.UDFBaseCompare.evaluate(java.lang.Number,java.lang.String)  on object org.apache.hadoop.hive.ql.udf.UDFOPEqual@14e0e90 of class org.apache.hadoop.hive.ql.udf.UDFOPEqual with arguments {null, 05:java.lang.String} of size 2:null
> 	at org.apache.hadoop.hive.ql.exec.FunctionRegistry.invoke(FunctionRegistry.java:394)
> 	at org.apache.hadoop.hive.ql.exec.ExprNodeFuncEvaluator.evaluate(ExprNodeFuncEvaluator.java:75)
> 	at org.apache.hadoop.hive.ql.exec.ExprNodeFuncEvaluator.evaluate(ExprNodeFuncEvaluator.java:72)
> 	at org.apache.hadoop.hive.ql.exec.ExprNodeFuncEvaluator.evaluate(ExprNodeFuncEvaluator.java:72)
> 	at org.apache.hadoop.hive.ql.exec.ExprNodeFuncEvaluator.evaluate(ExprNodeFuncEvaluator.java:72)
> 	at org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:62)
> 	at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:260)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.createForwardJoinObject(JoinOperator.java:257)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:477)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:467)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:467)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.checkAndGenObject(JoinOperator.java:507)
> 	at org.apache.hadoop.hive.ql.exec.JoinOperator.endGroup(JoinOperator.java:489)
> 	at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:140)
> 	... 2 more
> nulls are being produced in month(); 
> The month() function produces nulls when the string is ''; but those strings should never be touched by month(). 
> ** note that this is a faked test case, come talk to me if you need a real example.
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.