DB2 - Problem description
Problem IT34049 | Status: Closed |
NEW BCD DIVISION IMPLEMENTATION FOR ROW BASED DECIMAL | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - DB2 | |
Problem description: | |
Starting with v11.1m1fp2 the BCD DECIMAL division algorithm got replaced on AIX by an implementation based on decimal floating point instructions available on Power6 and above. This has made the row based DECIMAL division much faster. As a side effect users might experience an increased accuracy. This change now introduces a new and faster BCD DECIMAL division implementation for the other platforms that provides increased accuracy for the other platforms. Without the change on non-AIX db2 "values(Decimal('9056550.000',19,3)/Decimal('20125666.660',19,3) )" will return 0.450000000000 while the expected result is 0.450000000149. In most cases this tiny difference does not play a role as the result typically gets written back to DECIMAL(19,3) and then the difference in the last digits get truncated. To return to the old DECIMAL division implementation, use: db2set DB2_RUNTIME_DEBUG_FLAGS=DECIMAL_DIVIDE_COMPAT | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * non-AIX or | |
Local Fix: | |
Perform division using DECFLOAT data type. | |
Solution | |
Workaround | |
**************************************************************** * USERS AFFECTED: * * non-AIX or | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 30.08.2020 23.02.2021 23.02.2021 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |