DB2 - Problem description
Problem IC95934 | Status: Closed |
ERRORS SUCH AS SQL0313N AFTER A CLI APPLICATION EXECUTES DELETE or UPDATE with WHERE CURRENT OF <cursor-name> clause | |
product: | |
DB2 COMMON CLIE / DBCMNCLNT / A50 - DB2 | |
Problem description: | |
After an application that uses the CLI (Call Level Interface) API has executed a DELETE or UPDATE statement with WHERE CURRENT OF <cursor-name> clause, applications might get errors such as SQL0313N when they later execute another SQL statement. That is because when a CLI application executes a DELETE or UPDATE statement with WHERE CURRENT OF <cursor-name> clause the CLI package section for a CLI statement handle that is still open might incorrectly be released and then the same CLI package section is reused for a different SQL statement. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of applications that use the CLI (Call Level * * Interface) API to connect to DB2 for Linux, UNIX and Windows * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * . * **************************************************************** | |
Local Fix: | |
As a workaround you can set the isolation level for the CLI statement handle of the DELETE or UPDATE statement with WHERE CURRENT of clause to be the same as of that of the SELECT ... FOR UPDATE ... statement that created cursor <cursor-name>. You can set the isolation level by setting the CLI statement handle attribute SQL_ATTR_TXN_ISOLATION. | |
available fix packs: | |
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in Version 10.5 Fix Pack 4 At a minimum, this fix should be applied on the client. | |
Workaround | |
As a workaround you can set the isolation level for the CLI statement handle of the DELETE or UPDATE statement with WHERE CURRENT of clause to be the same as of that of the SELECT ... FOR UPDATE ... statement that created cursor <cursor-name>. You can set the isolation level by setting the CLI statement handle attribute SQL_ATTR_TXN_ISOLATION. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.09.2013 09.09.2014 09.09.2014 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.4 |