Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.9.4
-
None
-
None
Description
In the ComparisonHelper, when the two compared values have different types, we promote the lower precision one to higher and compare. This causes an issue when checking equality of float and double, the float is cast to double but failed at comparison as the prevision is widened. One example is
select * from Supplier s where s.salary = 83.44;
The 83.44 in the database is casted to 83.4397***** which is not equal to 83.44.