Teradata supports two types of servers that can execute Java external routines (UDFs and external stored procedures). The type of server that executes a Java UDF depends on whether the CREATE FUNCTION or REPLACE FUNCTION statement specifies an EXTERNAL SECURITY clause.
|IF the CREATE/REPLACE FUNCTION statement …||THEN Teradata …|
|specifies the EXTERNAL SECURITY clause||uses a separate secure server to execute the UDF under the authorization of a specific native operating system user established by a CREATE AUTHORIZATION or REPLACE AUTHORIZATION statement.|
|does not specify the EXTERNAL SECURITY clause||executes the UDF as a thread of a hybrid server that runs under the authorization of the 'tdatuser' operating system user.|
Whether a CREATE FUNCTION or REPLACE FUNCTION statement needs to specify the EXTERNAL SECURITY clause depends on the types of resources (if any) that the UDF needs to access during execution. For more information, see Resource Access.