Github user daveoshinsky commented on the issue:
https://github.com/apache/drill/pull/517
Regarding Aman's last comment, please add the following... In the scenario
addressed by this fix, there is a const integer that came from the SQL select
where clause, and that is what is being casted into a decimal, for comparison
with each a decimal value in each row. Since the integer is constant, a
thoroughly optimized piece of code would cast it just once to a decimal, and
use the stored decimal to compare with the decimal value in each row. It
appears that that is not what this code is doing. It is casting repeatedly, for
each row. So, rather than be concerned with just a few added integer divisions
by 10 (a small number around log10(the const integer) + 1 divides), this code
should ideally be (more) extensively modified to do the cast operation just
once. That's too big a change for me to make for this fix. Besides, which is
preferable? Code that does not function properly (DRILL-4704), and is not well
optimized? Or code that behaves correctly, and is only slightly
less well optimized?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---