For C++ UDFs and external procedures, you can use the C++ new or delete operators. Teradata overwrites them by using FNC_malloc and FNC_free. The UDF or external procedure must catch the std::bad_alloc exception in the case where Teradata cannot fulfill a memory allocation request. Note that some new operator calls may be implicitly hidden in a C++ library, so you must ensure that the UDF or external procedure will catch exceptions from those library functions also.