Find information about user-defined routines
The system catalog tables contain information about UDRs. The LANGUAGE
clause of the CREATE FUNCTION or CREATE PROCEDURE statement tells
the database server in which language the UDR is written. For UDRs
in Java™ code, the LANGUAGE clause
must be as follows:
LANGUAGE JAVA
The database server stores valid UDR languages in the sysroutinelangs table.
The information includes an integer, the language identifier, in the langid column.
The following lines show the entry in the sysroutinelangs system
catalog table for the Java™ language:
langid 3
langname java
langinitfunc udrlm_java_init
langpath $INFORMIXDIR/extend/krakatoa/lmjava.so
langclass jvp
The Java™ language has the
same default privilege as the C language. The following entry in the syslangauth system
catalog table specifies the privileges for the Java™ language:
grantor informix
grantee DBA
langid 3
langauth u
By default, both user informix and the owner of the database are allowed to create UDRs in Java™ code. If you attempt to execute the CREATE FUNCTION or CREATE PROCEDURE statement as some other user, the database server generates an error.
To allow other users to register UDRs in the database, user informix can
grant the usage privilege on the Java™ language
with the GRANT statement. The following GRANT statement allows any
user who has Resource privileges on the database to register UDRs
written in Java™ code:
GRANT USAGE ON LANGUAGE JAVA TO public