The lld_lob data type

The lld_lob data type is a user-defined type. You can use it to specify the location of a smart large object and to specify whether the object contains binary or character data.

The lld_lob data type is defined for use with the API as follows:
typedef struct
   {
   MI_LO_HANDLE                 lo;
   mi_integer                   type;
   } lld_lob_t;
It is defined for ESQL/C as follows:
typedef struct
   {
   ifx_lo_t                     lo;
   int                          type;
   } lld_lob_t;
lo
A pointer to the location of the smart large object.
type
The type of the object. For an object containing binary data, set type to LLD_BLOB; for an object containing character data, set type to LLD_CLOB.

The lld_lob type is equivalent to the CLOB or BLOB type in that it points to the location of a smart large object. In addition, it specifies whether the object contains binary or character data. You can pass the lld_lob type as the lo_pointer field of an lld_locator row. You should set the lld_lob_t.type field to LLD_BLOB for binary data and to LLD_CLOB for character data.

See The lld_lob type for example code that uses the lld_lob type.

LOB Locator provides explicit casts from:
  • a CLOB type to an lld_lob type.
  • a BLOB type to an lld_lob type.
  • an lld_lob type to the appropriate BLOB or CLOB type.
Tip: If you attempt to cast an lld_lob type containing binary data into a CLOB type or an lld_lob type containing character data into a BLOB type, Large Object Locator returns an error message.
You can pass an lld_lob type to these functions, described in Large Object Locator functions:

Note that LOCopy and LOToFile functions are overloaded versions of built-in server functions. The only difference is that you pass an lld_lob to the Large Object Locator versions of these functions and a BLOB or CLOB type to the built-in versions.