Adding or Modifying a Routine Modifier
Use this segment in the ALTER FUNCTION, ALTER PROCEDURE, or ALTER ROUTINE statement to add or modify values for routine modifiers of a UDR.
(explicit id aromo001)
aromo001
(explicit id aromo002)
aromo002
(explicit id aromo003)
aromo003
Adding or Modifying a Routine Modifier
{ { { [][] | [ [ NOT ] VARIANT ] } | NEGATOR = neg_func } | { [] | CLASS = class_name | ITERATOR | PARALLELIZABLE | [] { { HANDLESNULLS } | INTERNAL | { PERCALL_COST = { cost | 0 } | COSTFUNC = cost_func } | { SELFUNC = sel_func | SELCONST = selectivity } | STACK = stack_size } } }
| Element | Description | Restrictions | Syntax |
|---|---|---|---|
| class_name | Virtual processor (VP) class in which to run the external routine | Any C UDR must run in the CPU VP or in a user-defined VP class | Quoted String. |
| cost | CPU use cost for each invocation of a C-language
UDR. Default is 0. |
Integer; 1 cost 231-1 (highest cost). | Literal Number |
| cost_func | Name of a companion user-defined cost function to run | Must have same owner as the UDR. Execute privilege is needed to run. | Identifier |
| neg_func | Negator function that can be invoked instead of the UDR | Must have same owner as the UDR. Execute privilege is needed to run. | Identifier |
| sel_func | Name of a companion user-defined selectivity function to invoke | Must have same owner as the UDR. Execute privilege is needed to run. | Identifier |
| selectivity | CPU use cost for each invocation of a C-language
UDR. Default is 0. |
See Concept of Selectivity. | Literal Number |
| stack_size | Size (in bytes) of stack of the thread that runs the C-language UDR | Must be a positive integer | Literal Number |
You can add these modifiers in any order. If you list the same modifier more than once, the last setting overrides any previous values.
1 C language
2 Stored Procedure Language
3 External routines only