The lld_locator data type identifies a large object. It specifies the kind of large object and provides a pointer to its location. lld_locator is a row type and is defined as follows:
create row type informix.lld_locator { lo_protocol char(18 lo_pointer informix.lld_lob0 lo_location informix.lvarchar }
In the lo_protocol field, specify the kind of large object to create. The kind of large object you specify determines the values of the other two fields:
The lo_pointer field uses the lld_lob data type, which is defined by Large Object Locator. This data type allows you to point to a smart large object and specify whether it is of type BLOB or type CLOB. See the description of lld_lob on page lld_lob for more information.
The lo_location field uses an lvarchar data type, which is a varying-length character type.
Table 4 lists the current protocols and summarizes the values for the other fields based on the protocol that you specify. Be sure to check the release notes shipped with this manual to see if Large Object Locator supports additional protocols not listed here.
lo_protocol | lo_pointer | lo_location | Description |
---|---|---|---|
IFX_BLOB | Pointer to a smart large object | NULL | Smart large object |
IFX_CLOB | Pointer to a smart large object | NULL | Smart large object |
IFX_FILE | NULL | pathname | File accessible on server |
The lld_locator type is an instance of a row type. You can insert a row into the database using an SQL INSERT statement, or you can obtain a row by calling the DataBlade API mi_row_create() function. See the IBM Informix: ESQL/C Programmer's Manual for information on row types. See the IBM Informix: DataBlade API Programmer's Guide for information on the mi_row_create() function.
To reference an existing large object, you can insert an lld_locator row directly into a table in the database.
To create a large object, and a reference to it, you can call the lld_create() function and pass an lld_locator row.
You can pass an lld_locator type to these Large Object Locator functions, described in Functions: