DB2 - Problembeschreibung
Problem IC70444 | Status: Geschlossen |
SQLSTATISTICS ROUTINE, CLI/ODBC SQLSTATISTICS CALL, JDBC GETINDE XINFO CALL RETURN SQLCODE -413 FOR LARGE VALUES OF CARDINALITY | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
Currently, the SYSIBM.SQLSTATISTICS routine and the corresponding CLI/ODBC SQLStatistics () andd JDBC getIndexInfo calls, return SQLCODE -413 (Overflow occurred during numeric data type conversion) if the CARDINALITY returned exceeds 2147483647. Per the ODBC specification, we return CARDINALITY as INTEGER. However it is defined as BIGINT in the referenced table SYSIBM.SQLSTATISTICS. So, the SQLSTATISTICS routine CASTSs CARDINALITY to INTEGER before returning this value. If the CARDINALITY value returned is greater than the maximum allowable INTEGER value (2147483647), then a numeric overflow error will occur on the data type conversion (SQLCODE -413). The design will be changed to return 2147483647 (largest INTEGER value) when CARDINALITY cannot fit into INTEGER. This design is consistent with other IBM-defined views and routines which reference CARDINALITY. | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * Developers and users of IBM DB2 ODBC Driver (and IBM Data * * Server for ODBC and CLI Driver) applications connecting to * * DB2 servers. * **************************************************************** * PROBLEM DESCRIPTION: * * Currently, the CLI/ODBC SQLStatistics () and JDBC * * getIndexInfo calls, return SQLCODE -413 (Overflow occurred * * during numeric data type conversion) if the CARDINALITY * * returned exceeds 2147483647. * * * * * * Per the ODBC specification, the IBM DB2 ODBC driver returns * * CARDINALITY as INTEGER. * * However it is defined as BIGINT in the referenced table * * SYSIBM.SQLSTATISTICS. So, the IBM-defined SQLSTATISTICS * * routine (which is called by SQLStatistics () and JDBC * * getIndexInfo) CASTs CARDINALITY to INTEGER before returning * * this value. * * * * * * If the CARDINALITY value returned is greater than the * * maximum allowable INTEGER value (2147483647), then a numeric * * overflow error will occur on the data type conversion * * (SQLCODE -413). * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7 Fix Pack 4. * **************************************************************** | |
Local-Fix: | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Lösung | |
Problem was first fixed in Version 9.7 Fix Pack 4. | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Bug-Verfolgung | |
Vorgänger : APAR is sysrouted TO one or more of the following: IC72744 Nachfolger : | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 06.08.2010 16.06.2011 16.06.2011 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP4 | |
Problem behoben lt. FixList in der Version | |
9.7.0.4 |