Criteria Based on Evaluating Values Against the Execution of a Program Object
Kernel where clause evaluation includes the possibility to evaluate a value or set of values against the execution of a JPO.
For example:
MQL> temp query bus Person * * where "VALUE SMATCHLIST program[emxPerson -method
getStrRolesSymbolicAssigned ${OBJECTID} '${TYPE}'] '|'"
When using this capability there are several factors to consider:
If the JPO returns multiple values, then the JPO will return elements with a delimiter that matches the last parameter of the SMATCHLIST statement. (In the example a '|' )
If the value you compare against contains multiple clauses, these values are separated into distinct where clause elements. For example:
temp query bus Person * * where "VALUE1 SMATCHLIST program[emxPerson -method
getStrRolesSymbolicAssigned ${OBJECTID} '${TYPE}'] '|' OR VALUE2 SMATCHLIST
program[emxPerson -method getStrRolesSymbolicAssigned ${OBJECTID} '${TYPE}'] '|' "
VALUE contains wildcard characters.
Performance must be profiled for any use case using this technique because it depends on the efficiency of the JPO.