yashmayya commented on PR #19788: URL: https://github.com/apache/pinot/pull/19788#issuecomment-6157346648
@Jackie-Jiang Good catch, thanks. Fixed in c1f5e1eaf9. `+ - * /` calls that return an interval are now evaluated exactly with `BigDecimal` (the literal values Calcite stores), not through the DOUBLE `times` / `divide` functions. The whole-month check then runs on the exact value. `INTERVAL '100' MONTH * 0.29` is now 29 months and `* 1.11` is 111 months. Both are regression cases now. The same DOUBLE rounding also made `INTERVAL '1' DAY * 0.7` silently 1 ms short (shown as `16:47:59` instead of `16:48:00` with a seconds-precision literal). That is fixed too, with a test. Other functions that return an interval (for example `ABS(INTERVAL '-1' MONTH)`) still go through the DOUBLE path, with the same check. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
