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 Reporter: Venky Iyer 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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.