On 2018-01-06 19:10, Leyne, Sean wrote:
Not allowing +/-Infinity, +/-NaN, +/-sNaN for DECFLOAT seems to be
supported by the rules of 6.29 <numeric value expression>:

Would this issue be part of the 3 tracker cases you opened, today, or
a separate case?

This would be a separate case. The case for literals for Infinities and NaNs (CORE-5698) can be closed if we indeed decide that we shouldn't support Infinity and NaN (which is what the SQL standard seems to indicate).

However currently we allow +/-Infinity, +/-NaN and +/-sNaN to be stored in DECFLOAT columns, and for NaN (and sNaN) specifically this lead to problems (see my first post). This is something we either need to really fix, or fix by disallowing these special values (by raising a numeric value out of range when using (inserting, storing, etc) these values, or if a calculation results in such a value).

As background, I have been working on a Java library for the conversion of these decimals (https://github.com/FirebirdSQL/decimal-java), and I'm currently integrating this in Jaybird. This in turn leads to testing and exploring some of the edge cases of Decimal64 (decfloat(16)) and Decimal128 (decfloat(34)) in Firebird, so I'll probably be reporting more decfloat related issues (or raising questions) over the next few days.

Mark

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to