On 2/16/22 12:54, Dmitry Yemanov wrote:
16.02.2022 12:19, Mark Rotteveel wrote:
However, that was not my main point. My main point was that it sounds
like an index format that was created for supporting DECFLOAT(34),
and that it is not suitable for the full range of INT128 and
NUMERIC/DECIMAL backed by INT128 (for the same reasons the DOUBLE
PRECISION format is not suitable for BIGINT and NUMERIC/DECIMAL
backed by BIGINT).
It looks so. Unless we miss something (Alex?),
That was my fault. Initially it was decided to represent big numerics
with decfloat. But that works very slow, and later it was replaced with
BIGINT. But about index key formay I've just forgotten.
perhaps we need to add a runtime check that rejects key creation for
INT128 values longer than 34 decimal digits. And find a better
solution in some later release.
Normalize coefficient appropriately adjusting exponent like it's done
for BCDs in DECFLOAT case, but here that can be done in binary form.
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel