Language-level privileges

IBM® Informix® supports UDRs written in the built-in Stored Procedure Language (SPL) and also UDRs (referred to as external routines) that are written the C and Java™ languages. To create any UDR, a user must hold the Resource privilege (or else DBA privilege) on the database. In addition, to create a UDR, the user must also receive the Usage privilege on the programming language from the corresponding GRANT statement:
  • GRANT USAGE ON LANGUAGE C for C routines
  • GRANT USAGE ON LANGUAGE JAVA for Java l routines
  • GRANT USAGE ON LANGUAGE SPL for SPL routines

In addition to holding the required language-level privileges, if the IFX_EXTEND_ROLE configuration parameter has been enabled (either by default, or by being set to 1 or to ON), only users to whom the DBSA has granted the built-in EXTEND role can create, alter, or drop external routines.