11.10. Function Options
11.10. Function Options You can use the following options when creating functions. See "create procedure" in Section A.7, "Productions" . Any others properties defined will be considered as extension metadata. Property Data Type or Allowed Values Description UUID string unique Identifier NAMEINSOURCE If this is source function/procedure the name in the physical source, if different from the logical name given above ANNOTATION string Description of the function/procedure CATEGORY string Function Category DETERMINISM NONDETERMINISTIC COMMAND_DETERMINISTIC SESSION_DETERMINISTIC USER_DETERMINISTIC VDB_DETERMINISTIC DETERMINISTIC NULL-ON-NULL 'TRUE'|'FALSE' JAVA_CLASS string Java Class that defines the method in case of UDF JAVA_METHOD string The Java method name on the above defined java class for the UDF implementation VARARGS 'TRUE'|'FALSE' Indicates that the last argument of the function can be repeated 0 to any number of times. default false. It is more proper to use a VARIADIC parameter. AGGREGATE 'TRUE'|'FALSE' Indicates the function is a user defined aggregate function. Properties specific to aggregates are listed below: Note that NULL-ON-NULL, VARARGS, and all of the AGGREGATE properties are also valid relational extension metadata properties that can be used on source procedures marked as functions. You can also create FOREIGN functions that are supported by a source. See the section on user defined functions in Red Hat JBoss Data Virtualization Development Guide: Server Development for more information about source supported functions.