Write PDQ threadsafe UDRs
External-language UDRs can execute in parallel as long as they are PDQ threadsafe DataBlade® API functions.
The
following DataBlade®
API function
categories are PDQ thread safe:
- Data handling
Exception in this category: collection manipulation functions (mi_collection_*) are not PDQ thread safe.
- Session, thread, and transaction management
- Function execution
- Memory management
- Exception handling
- Callbacks
- Miscellaneous
If an external-language UDR calls a non-PDQ threadsafe
function that was created with the PARALLELIZABLE modifier, the database
server aborts the query and issues the following error message:
-7422 Can not issue DAPI function %s in a secondary PDQ thread.
The database server substitutes the name of the DataBlade® API function for the %s string in this error message.