UDx restrictions

You cannot use any UDx on inputs containing complex types (see External Types).

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:

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.