The mi_lo_colinfo_by_ids() function

The mi_lo_colinfo_by_ids() function sets the fields of an LO-specification structure to the column-level storage characteristics for specified row descriptor and column identifier.

Syntax

mi_integer mi_lo_colinfo_by_ids(conn, row_desc, column_id, LO_spec)
   MI_CONNECTION *conn;
   MI_ROW *row_desc;
   mi_integer column_id;
   MI_LO_SPEC *LO_spec;
conn
This value is one of the following connection values:

A pointer to a connection descriptor established by a previous call to mi_open(), mi_server_connect(), or mi_server_reconnect().

A NULL-valued pointer (database server only)

row_desc
A pointer to the row descriptor that contains the column.
column_id
The integer column identifier of the column within the row structure, with the first column starting at offset 0.
LO_spec
A pointer to the LO-specification structure into which mi_lo_colinfo_by_ids() is to put the storage characteristics for the specified column.
Valid in client LIBMI application? Valid in user-defined routine?
No Yes

Usage

The mi_lo_colinfo_by_ids() function sets the fields of the LO-specification structure that LO_spec references to the storage characteristics for a specified column. Identify this column with the following arguments:
  • The row_desc argument references the row descriptor (the MI_ROW structure) that contains the column.
  • The column_id argument is the offset of the column within the row descriptor that row_desc identifies.

If this specified column does not have column-level storage characteristics defined for it, the database server uses the storage characteristics that are inherited.

The mi_lo_colinfo_by_ids() function is primarily intended for use within the assign() or import support routines of an opaque data type that contains a smart large object. Within either of these support functions, the database server guarantees that the associated row and the column information can be determined from the MI_FPARAM structure with the accessor functions, mi_fp_getrow() and mi_fp_getcolid(). This function also works for any user-defined routine that is named or directly used in an INSERT, UPDATE, or SELECT statement. In all other contexts, the database server does not guarantee that the row and column information in the MI_FPARAM structure is valid.

Server only: The mi_lo_colinfo_by_ids() function does not need a connection descriptor to execute. If your UDR does not need a valid connection for other operations, you can specify a NULL-valued pointer for the conn parameter to establish a NULL connection. For information about the advantages of a NULL connection, see the HCL OneDB™ DataBlade® API Programmer's Guide.

Return values

MI_OK
The function was successful; LO_spec points to the LO-specification structure with the storage characteristics of the specified column.
MI_ERROR
The function was not successful.