Parallelizable routines

Mark a routine as parallelizable if it can be executed within a parallel database query (PDQ) statement. PDQ statements allow the HCL Informix® database server to distribute the executions of one query among several processors by dividing the query into subqueries. The database server then allocates subqueries to separate threads for parallel processing and thus improves performance.

See Informix User-Defined Routines and Data Types Developer's Guide for more information about using the parallelizable option.

Use routine parallelization if your routine is used as an expression in qualification clauses, in GROUP BY lists, or as an overloaded comparison operator.

A routine cannot be parallelizable if it accepts row or collection data types as arguments.

C and Java™ routines are parallelizable if they call only the DataBlade® API routines listed in the following categories from the Informix DataBlade API Programmer's Guide:
  • Data handling, except for collection manipulation functions
  • Session, thread, and transaction management
  • Function execution
  • Memory management
  • Exception handling
  • Callbacks
  • Miscellaneous

For more information about the routines under each category, see the Informix DataBlade API Programmer's Guide.