cloud-fan commented on issue #21599: [SPARK-26218][SQL] Overflow on arithmetic operations returns incorrect result URL: https://github.com/apache/spark/pull/21599#issuecomment-514117978 For overflow checking, I do think `Math.addExtract` is better, although it doesn't work for byte/short and float/double. 1. For byte/short, we add them as int(this is how java adds 2 bytes), and then check if it exceeds the range of byte/short, and then cast it back to byte/short. I think this should be faster than checking the signum. 2. For float/double, I'm not sure we can check overflow by signum. And float/double can be `Infinity` at the beginning, so I don't really know how to detect overflows. Can you check other databases? For the interpreted version, we can implement custom `Numeric` in places like `ByteType#numeric` and add overflow 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. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
