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
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.
Was this topic helpful?
Document Information
Modified date:
08 October 2024
UID
ibm17169071