Binary and text representations of an LO handle

The MI_LO_HANDLE data type (for an LO handle) is an opaque C data structure with a length of MI_LO_SIZE. The binary representation of the LO handle is a flat array of MI_LO_SIZE bytes.

You can perform the following actions on the binary representation of an LO handle:
  • Store it in a C variable of type MI_LO_HANDLE.
  • Pass it to a UDR.
  • Bind it an MI_LO_HANDLE variable to hold a smart large object retrieved by a query whose control mode is binary representation (for example, in mi_exec()).
  • Store it in a CLOB or BLOB column of the database.
  • Send it as part of the internal (binary) representation of an opaque type.
The text representation of an LO handle is the text hexadecimal dump of the flat binary array. To represent the hexadecimal format, each binary byte requires two bytes of characters. You can perform the following actions on the text representation of an LO handle:
  • Store it in a C character string or array.
  • Bind it to a character-pointer variable to hold a smart large object retrieved by a query whose control mode is text representation (for example, in mi_exec()).
  • Store it in a CHAR (or other character-based) column in a database.