Access privileges to run the UDR

The CREATE FUNCTION and CREATE PROCEDURE statements assign the Execute privilege to the user who registers the UDR. Routine privileges for UDRs are stored in the sysprocauth system catalog table.

In databases that are not created WITH LOG MODE ANSI, Execute privilege on owner-privileged routines created without the DBA keyword is automatically granted to the PUBLIC group. Whether the owner needs to explicitly grant the Execute privilege for an owner-privileged UDR to PUBLIC or to other users depends on whether the database is ANSI-compliant, and on whether the NODEFDAC environment variable is set to yes. For more information on discretionary and label-based access privileges on routines, see the description of the GRANT statement in the Informix® Guide to SQL: Syntax.