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