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

Reply via email to