C runtime library functions

SPUs use the Linux® operating system, and therefore support the full standard C Library (LIBC) functions.

As a best practice, do not use the LC_* locale variables. If you set the LC_* locale environment variables on the Netezza Performance Server host, the locale-aware functions might not return similar results when they run on the host and the SPUs. The Netezza Performance Server host cannot communicate LC_* variable values to the SPUs, and the SPUs cannot interpret the LC* settings. Likewise, use caution to avoid the use of locale-aware functions such as strftime, strcoll, and string function.

UDFs and UDAs can also allocate memory with the malloc/free functions or new/delete operators. However, use caution to carefully consider the memory allocations and include the memory as part of the MAXIMUM MEMORY argument for the function or aggregate. Any function or aggregate that exceeds its MAXIMUM MEMORY setting can negatively affect the system performance.