Opened 11 years ago
Closed 11 years ago
#870 closed defect (fixed)
Oracle ODBC: read double values from NUMBER & FLOAT columns, map to wrong RDBI type
Reported by: | kwi | Owned by: | kwi |
---|---|---|---|
Priority: | minor | Milestone: | 3.8.0 |
Component: | ODBC Provider | Version: | 3.8.0 |
Severity: | 2 | Keywords: | ODBC Oracle |
Cc: | External ID: |
Description
When reading double values like 123.456789123456 from an Oracle "NUMBER" & "FLOAT" column, the ODBC mapping in providers\GenericRDBMS\src\ODBCDriver\desc_slct.c will map the value to a RDBI_FLOAT instead of RDBI_DOUBLE. The reason is that the threshold value for RDBI_DOUBLE is set to an "odbc_precision >= 53". But Oracle's NUMBER and FLOAT can store double precision values.Their odbc_precision begins with 19.
With this we loose precision of the value after reading it.
See unit test OdbcBaseFdoUpdateTest::updateNonDblGeom():
Validate the column "Z" value from "Table6" will not pass the test.
Validate the column "Y" value from "Table8" will not pass the test.
Change History (4)
comment:1 by , 11 years ago
Owner: | changed from | to
---|
comment:2 by , 11 years ago
Status: | new → assigned |
---|
comment:3 by , 11 years ago
comment:4 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Submit to trunk in rev 6949.