01.02.2018 17:04, Mark Rotteveel wrote:
Let me try to rephrase: for DECFLOAT we use Decimal128 which includes the correct scale,
and for DECIMAL(19+) we use Decimal128 with a scale of zero, and the correct scale
communicated externally, which then needs to be applied separately.
That to me as a consumer of the API is an inconsistency (now having implemented both for the wire protocol and legacy API), and it bugs me.
Actually, I wouldn't mind having SQL_INT128/dtype_int128 and ability to use
"reinterpret_cast<__int128>(sqldata)" on API side. Engine can handle it internally in any
way using any library (including decfloat), but as long as it is delivered to me as a
plain int128 - I see no problem here.
Perhaps, all that is needed - to rename SQL_DEC_FIXED and FB_DEC_FIXED into SQL_INT128
and FB_INT64. In this case they will easily fit into old pattern and cause no rejection
from users.
--
WBR, SD.
------------------------------------------------------------------------------
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