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