Fixes are available
APAR status
Closed as program error.
Error description
Using CLI (Call Level Interface), to do an array insert you call SQLSetStmtAttr() to specify the value of the SQL_ATTR_PARAMSET_SIZE statement attribute and then bind each parameter marker to its corresponding array of input values by calling SQLBindParameter() for each parameter marker. Each time a CLI program executes an INSERT statement to do an array insert when the most recent execution of the same statement was a non-array insert, a DRDA (Distributed Relational Database Architecture) PREPARE codepoint is flowed to the database server. And each time you execute an INSERT statement to do a non-array insert when the most recent execution of the same statement was an array insert, a DRDA PREPARE codepoint is flowed to the database server too. This behaviour was introduced by the change made for APAR IY87244. It can make applications perform more slowly by causing them to flow more PREPARE codepoints to the database server. Because that is likely to cause the database server to prepare statements more often it can cause slow performance on the database server. If that also makes the database server take longer to do each individual prepare then that is an additional cause of slow performance.
Local fix
Problem summary
Users affected: Users of applications that use CLI (Call Level Interface) with DB2 on Linux, UNIX and Windows. Problem Description: Using CLI (Call Level Interface), to do an array insert you call SQLSetStmtAttr() to specify the value of the SQL_ATTR_PARAMSET_SIZE statement attribute and then bind each parameter marker to its corresponding array of input values by calling SQLBindParameter() for each parameter marker. Each time a CLI program executes an INSERT statement to do an array insert when the most recent execution of the same statement was a non-array insert, a DRDA (Distributed Relational Database Architecture) PREPARE codepoint is flowed to the database server. And each time you execute an INSERT statement to do a non-array insert when the most recent execution of the same statement was an array insert, a DRDA PREPARE codepoint is flowed to the database server too. Problem Summary: This behaviour was introduced by the change made for APAR IY87244. It can make applications perform more slowly by causing them to flow more PREPARE codepoints to the database server. Because that is likely to cause the database server to prepare statements more often it can cause slow performance on the database server. If that also makes the database server take longer to do each individual prepare then that is an additional cause of slow performance.
Problem conclusion
First fixed in DB2 9 Fix Pack 8
Temporary fix
Comments
APAR Information
APAR number
IZ40665
Reported component name
DB2 CEE AIX
Reported component ID
5765F3000
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-12-23
Closed date
2009-10-27
Last modified date
2009-10-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DB2 CEE AIX
Fixed component ID
5765F3000
Applicable component levels
R910 PSN
UP
R950 PSN
UP
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]
Document Information
Modified date:
03 October 2021