UDx restrictions
You cannot use any UDx on inputs containing complex types (see Complex types). For example, you cannot transform or aggregate a ROW column. UDSFs, but not other UDxs, can return ROWs.
Some UDx types have special considerations or restrictions.
Aggregate functions
You cannot use the DISTINCT clause in queries with more than one aggregate function.
Analytic functions
UDAnFs do not support framing windows using ROWS.
As with Vertica's built-in analytic functions, UDAnFs cannot be used with Pattern matching functions.
Scalar functions
If the result of applying a UDSF is an invalid record, COPY aborts the load even if CopyFaultTolerantExpressions is set to true.
A ROW returned from a UDSF cannot be used as an argument to COUNT.
Transform functions
A query that includes a UDTF cannot:
-
Include statements other than the SELECT statement that calls this UDTF and a PARTITION BY expression
-
Call an analytic function
-
Call another UDTF
-
Include one of the following clauses:
Load functions
Installing an untrusted UDL function can compromise the security of the server. UDxs can contain arbitrary code. In particular, user-defined source functions can read data from any arbitrary location. It is up to the developer of the function to enforce proper security limitations. Superusers must not grant access to UDxs to untrusted users.
You cannot ALTER UDL functions.