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

Reply via email to