UDX API version 1 and 2
The APIs have different namespaces: API version 1 uses the nz::udx namespace, and API version 2 uses the nz::udx_ver2 namespace. The different namespaces allow older UDXs to run on the newer Netezza Performance Server releases without code changes. If you want to migrate a version 1 UDX to version 2 functionality, you must change the C++ code for the UDX to convert it to a version 2 file.
Release 6.0.x supports both UDX version 1 and 2 objects. By default, when you create a UDX, the UDX uses API version 1 support. If you include version 2 features such as ENVIRONMENT in the UDX definition, you must specify API VERSION 2 also in the UDX definition.
If you create UDXs that take advantage of UDX version 2 features, those UDXs do not run in an environment that supports only UDX version 1. If you attempt to downgrade from release 6.0.x to 5.0.x, the downgrade process returns errors if it detects UDX version 2 features; you must drop the UDX version 2 features before you can downgrade.
If you want to create UDXs that can be used in both 5.0.x and 6.0.x environments, you can define your objects with API VERSION 1. If you include version-2-only features, the object errors out when you use the CREATE OR REPLACE command to add the UDX as an object in a database.