home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC62550 Status: Closed

IMPLEMENT NEW FLOATINGPOINTSTRINGFORMAT PROPERTY

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
After changing the legacy JDBC driver to JCC type 4 driver, 
customer's java application gets a different format result when 
using ResultSet.getString() and CallableStatement.getString() 
for DOUBLE data type. 
For example, 
legacy driver:  1.00000000000000E-007 
jcc driver:  1.0E-7 
 
JCC driver uses JDK to convert bytes received from the server 
into a double, while the legacy driver may be using some native 
language. JCC driver is working as designed, but it's necessary 
to implement a new JCC property to match the legacy JDBC driver 
string format for double and real types.
Problem Summary:
After changing the legacy JDBC driver to JCC type 4 driver, 
customer's java application gets a different format result when 
using ResultSet.getString() and CallableStatement.getString() 
for DOUBLE data type. 
For example, 
legacy driver:  1.00000000000000E-007 
jcc driver:  1.0E-7 
A new datasource / URL property, floatingPointStringFormat, was 
introduced. The new property allows application to pick the 
string format of either the IBM Data Server driver (both type 
4 and type 2) or the legacy type 2 driver for double, float and 
real column types. The float column can be defined as float 
(1-53) where the values 1 through 24 indicate single precision 
and maps to same as real type and the values 25 through 53 
indicates double-precision and maps to double type. 
 The property is applicable only to the output path (i.e. 
ResultSet.getString() and CallableStatement.getString(). 
The data type for "floatingPointStringFormat" property is 
integer and  the possible values for the property are 
- FLOATING_POINT_STRING_FORMAT_NOT_SET (0): if not explicitly 
set, the default value will be 0 that has the semantics of 
JCC_DRIVER_FLOATING_POINT_STRING_FORMAT. 
- JCC_DRIVER_FLOATING_POINT_STRING_FORMAT (1): double and real 
values will be returned in whatever format java.lang.String. 
valueOf(double) and java.lang.String.valueOf(float) method 
returns respectively. 
- LEGACY_TYPE2_ DRIVER_FLOATING_POINT_STRING_FORMAT (2): double 
and real values will be returned in legacy type 2 driver format 
as below. 
  The double types will be returned in the following format 
        d.ddddddddddddddE<sign>ddd 
where "d" denotes a digit.  1 digit before the decimal point. 
14 digits after the decimal point. "E" the exponent. 
"<sign>" could be "+" or "-". 3 digits after the sign. 
  The real types will be returned in the following format 
        d.ddddddE<sign>ddd 
where "d" denotes a digit.  1 digit before the decimal point. 
6 digits after the decimal point. "E" the exponent. 
"<sign>" could be "+" or "-". 3 digits after the sign.
Local Fix:
Solution
First fixed by V97 FP1.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
14.08.2009
10.11.2009
10.11.2009
Problem solved at the following versions (IBM BugInfos)
9.7.FP1
Problem solved according to the fixlist(s) of the following version(s)