Character data in C UDRs (Server)

You must use the mi_lvarchar data type if your UDR expects any of the SQL character data types as an argument or a return value. Within an MI_DATUM structure, the routine manager passes character data to and from a C UDR as a pointer to an mi_lvarchar varying-length structure. Therefore, a C UDR must handle text data as mi_lvarchar values when it receives arguments or returns data of an SQL character data type, as follows:
  • If the C UDR receives an argument of an SQL character data type, it must declare its corresponding parameter as a pointer to an mi_lvarchar data type.
  • If a C UDR returns a value of an SQL character data type, it must return a pointer to an mi_lvarchar data type.