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.