01.02.2018 12:44, Mark Rotteveel wrote:
On 27-1-2018 19:30, Dmitry Yemanov wrote:
27.01.2018 20:18, Mark Rotteveel wrote:

I'm implementing the new precision 34 decimal/numeric support in Jaybird, and I notice that the underlying Decimal128 is used as just an integer container, instead of already applying an appropriate exponent for the scale. This was a bit of a surprise to me.

Similar to how int16/int32/int64 is used for NUMERIC/DECIMAL with precision <= 
18.

Why was this implementation chosen?

To keep the existing logic that deals with exact numerics inside the engine.

Right, good point, but given the backing datatype is different, I wonder if that really simplifies things, and especially if that should surface in the external API.

IMHO - it shouldn't. It unnecessary complicate application logic that must handle such "special cases" every time it access data.
  DECFLOAT is DECFLOAT. If you want 128-bits integer - use int128.


--
  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