Product Documentation

FairCom DB V12 Release Notes

Previous Topic

Next Topic

SQL columns defined as money(17) or money(18) no longer silently overflow

There are now two types of Money with the following syntax: money (prec, scale).

The following are the possible values and resulting rounding behavior.

  • money(32,2) - round to 2 digits
  • money(32,4) - round to 4 digits

Attempting insert into a column defined as money(17) or money(18) could result in:

  1. no error but the value stored and then retrieved was not correct
  2. error(-21038): CTDB - Operation causes Overflow

The logic has been modified to correct these problems.

For customers using money(17) and money(18), problem #1 does not occur anymore. With this modification, the insert/update fails with error(-21038), because the mapping cannot be changed for an existing table (having existing data).

Affected Components: SQL Server

Compatibility: This modification breaks compatibility on the field type mapping for money(17) and money(18). This is an issue for people creating a table in SQL and accessing it in ISAM if either of the two mentioned precisions is used.

TOCIndex