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

Reply via email to