IBM Support

SQL table function cursor name improvement

News


Abstract

The cursor name generated for returning the result set of an SQL table function has been changed to make it more unique.

Content

You are in: IBM i Technology Updates > Db2 for i - Technology UpdatesDb2 for i Database Engineer (DBE) Enhancements > SQL table function cursor name improvement

 

The cursor name that is generated for returning the result set of any SQL table function has always been named SQL_TABLE_CURSOR. This naming approach can cause a cursor name collision when multiple SQL table functions are used within a query. To circumvent a cursor name collision, the FENCED clause must be used on the SQL table function. However, the FENCED clause adds overhead to the execution of the table function by forcing it to run in separate thread.

With this enhancement, the generated cursor name has been modified so it contains the table function name and the table function's library name, if the library name is available. This does not guarantee uniqueness, but significantly reduces the possibility of a cursor name collision which increases the likelihood that the NOT FENCED setting can be used.

Table functions must be rebuilt to pick up this change.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CHeAAM","label":"IBM i Db2"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.4.0;7.5.0;and future releases"}]

Document Information

Modified date:
08 October 2024

UID

ibm17169071