There is only 1 .so file per database per node per application category, which is shared by all external procedures, UDFs, and table UDFs of a given application category contained by a database.
The application categories are as follows.
Applies to all UDFs and table UDFs.
Also applies to external procedures that do not use the CLIv2 or Java APIs to make SQL calls.
Applies to all external procedures that use the CLIv2 API to make SQL calls.
Applies to all external procedures that use the JDBC API to make SQL calls.
The system generates a separate .so file for each non-Java application category. Java UDFs and external procedures do not generate .so files because their source code is contained within their associated JAR files.
Whenever you create, replace, or drop an external procedure, the .so file for that database has to be relinked with all the other external procedure object files and then redistributed to all the nodes.