-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1515/
-----------------------------------------------------------
(Updated 2011-08-18 17:21:26.213141)
Review request for hive and Siying Dong.
Changes
-------
Changed my mind.
Ran a few more tests to make sure they were equivalent and found that having
the check in GenericUDFBaseCompare.ObjectInspector.initialize can result in
the warning being thrown multiple times for the same operator. I also found
that queries, like the ones in the .q file don't hit
DefaultExprProcessor.getFuncExprNodeDesc.
I added the check to ExprNodeGenericFuncDesc.newInstance because this is hit,
it appears to only be hit once per operator, and it will be hit if the code
ever goes through DefaultExprProcessor.getFuncExprNodeDesc.
Summary
-------
I added a check in the code for equality expressions (includes inequalities)
with operands of different types, that throws an error or logs a warning,
depending on strict mode, if one operand is a string or double and the other is
a bigint.
This addresses bug HIVE-2378.
https://issues.apache.org/jira/browse/HIVE-2378
Diffs (updated)
-----
trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java 1158835
trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java
1158835
trunk/ql/src/test/queries/clientnegative/compare_double_bigint.q PRE-CREATION
trunk/ql/src/test/queries/clientnegative/compare_string_bigint.q PRE-CREATION
trunk/ql/src/test/results/clientnegative/compare_double_bigint.q.out
PRE-CREATION
trunk/ql/src/test/results/clientnegative/compare_string_bigint.q.out
PRE-CREATION
Diff: https://reviews.apache.org/r/1515/diff
Testing
-------
I added two tests (one for strings and one for doubles) to record the issue.
I also verified the unit tests still run.
Thanks,
Kevin