Home |
Previous Page | Next Page System Catalog Tables >
The sysprocedures system catalog
table lists the characteristics for each function and procedure
in the database. It contains one row for each routine.
Each function in sysprocedures has a unique
value, procid, called a routine identifier.
Throughout the system catalog, a function is identified by its routine identifier,
not by its name.
For Extended Parallel Server, sysprocedures has the following
columns.
Column |
Type |
Explanation |
procname |
VARCHAR(128) |
Name of routine |
owner |
VARCHAR(32) |
Name of owner |
procid |
SERIAL |
Unique identifying code for the routine |
mode |
CHAR(1) |
Mode type:
D or d = DBA
O or o = Owner
P or p = Protected
R or r = Restricted |
retsize |
INTEGER |
Compiled size (in bytes) of values |
symsize |
INTEGER |
Compiled size (in bytes) of symbol
table |
datasize |
INTEGER |
Compiled size (in bytes) of constant
data |
codesize |
INTEGER |
Compiled size (in bytes) of routine
instruction code |
numargs |
INTEGER |
Number of arguments to routine |
A composite index on procname and owner requires
unique values.
For Dynamic Server, sysprocedures has the following
columns.
Column |
Type |
Explanation |
procname |
VARCHAR(128) |
Name of routine |
owner |
VARCHAR(32) |
Name of owner |
procid |
SERIAL |
Unique identifying code for the routine |
mode |
CHAR(1) |
Mode type:
D or d = DBA
O or o = Owner
P or p = Protected
R or r = Restricted |
retsize |
INTEGER |
Compiled size (in bytes) of returned
values |
symsize |
INTEGER |
Compiled size (in bytes) of symbol
table |
datasize |
INTEGER |
Compiled size (in bytes) of constant
data |
codesize |
INTEGER |
Compiled size (in bytes) of routine
code |
numargs |
INTEGER |
Number of arguments to routine |
isproc |
CHAR(1) |
Whether routine is a procedure or
a function:
t = procedure
f = function |
specificname |
VARCHAR(128) |
Specific name for the routine |
externalname |
VARCHAR(255) |
Location of the external routine.
This item is language-specific in content and format. |
paramstyle |
CHAR(1) |
Parameter style: I = Informix |
langid |
INTEGER |
Language code (in sysroutinelangs table) |
paramtypes |
RTNPARAMTYPES |
Information describing returned parameters |
variant |
BOOLEAN |
Whether the routine is VARIANT or
not:
t = is VARIANT
f = is not VARIANT |
client |
BOOLEAN |
Reserved for future use |
handlesnulls |
BOOLEAN |
NULL handling
indicator:
t = handles NULLs
f =does not handle NULLs |
percallcost |
INTEGER |
Amount of CPU per call
Integer cost to execute UDR: cost/call - 0 -(2^31-1) |
commutator |
VARCHAR(128) |
Name of commutator function |
negator |
VARCHAR(128) |
Name of negator function |
selfunc |
VARCHAR(128) |
Name of function to estimate selectivity
of UDR |
internal |
BOOLEAN |
Whether the routine can be called
from SQL:
t = routine is internal, not callable from SQL
f = routine is external, callable from SQL |
class |
CHAR(18) |
CPU class in which routine should
be executed |
stack |
INTEGER |
Stack size in bytes required per invocation |
parallelizable |
BOOLEAN |
Parallelization indicator for UDR:
t = parallelizable
f = not parallelizable |
costfunc |
VARCHAR(128) |
Name of cost function for UDR |
selconst |
SMALLFLOAT |
Selectivity constant for UDR |
In the mode column, the R mode is a special
case of the O mode. A routine is in restricted (R) mode if it was
created with a specified owner who is different from the routine
creator. If routine statements involving a remote database are executed,
the database server uses the permissions of the user who executes
the routine instead of the permissions of the routine owner. In
all other scenarios, R-mode routines behave the same as O-mode routines.
You cannot use the DROP FUNCTION, DROP ROUTINE, or DROP PROCEDURE statements
to delete a protected routine. Protected routines are indicated
by lowercase in the mode column. In earlier
versions, protected SPL routines (which
cannot be deleted) were indicated by a p. Starting with Version 9.0, protected SPL routines
are treated as DBA routines and cannot
be Owner routines. Thus D and O indicate DBA and Owner routines,
and d and o indicate protected DBA and protected
Owner routines.
A database server can create protected SPL routines for
internal use. These protected SPL routines
have p in the mode column. You cannot modify,
drop, nor display protected SPL routines.
Important:
After you issue the SET SESSION AUTHORIZATION statement, the
database server assigns a restricted mode to all owner routines that
you created while using the new identity.
The database server can create protected routines for
internal use. The sysprocedures table identifies
these protected routines with the letter P or p in the mode column. You cannot modify
or drop protected routines, nor can you display them through DBSCHEMA.
A unique index is on the procid column. A
composite index on the procname, isproc, numargs,
and owner columns allows duplicate values,
as does a composite index on the specificname and owner columns.
Home |
[ Top of Page | Previous Page | Next Page | Contents |
Index ]