hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Namit Jain (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-67) Short-circuiting of the OR operator doesn't seem to be happening
Date Wed, 11 Mar 2009 21:12:50 GMT

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

Namit Jain commented on HIVE-67:
--------------------------------

>From the stack trace, it looks like a bug in UDFOPEqual which should be present even if
the above query is issued:

select t.date from t where month(t.date) = '12';

I need to verify it - since it looked like a suspect, I marked it as a blocker.

> 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.


Mime
View raw message