Routine Overloading and Routine Signatures

Because of routine overloading, the name of a user-defined routine does not need to be unique to the database. You can define more than one UDR with the same name, provided that the routine signature for each UDR is different.

UDRs are uniquely identified by their signatures. The signature of a UDR includes the following items of information:
  • The type of routine (function or procedure)
  • The identifier of the routine
  • The cardinality, data type, and order of the parameters
  • In an ANSI-compliant database, the owner name

For any given UDR, at least one item in the routine signature must be unique among all the UDRs registered in the database.

In a database that is not ANSI-compliant, two routines that have different owners cannot have the same signature, except in the special cases of the sysdbopen( ) and sysdbclose( ) routines. For information about the effects of these session configuration routines when their owners connect to or disconnect from a database where these routines are defined, see IFX_REPLACE_MODULE Function.