Type descriptors
A type descriptor, MI_TYPE_DESC, is a DataBlade API data type structure that contains information about an SQL data type. For built-in data types, this information comes from the syscolumns table. For extended data types, it contains the information in the sysxtdtypes table.
The following table lists the DataBlade API accessor functions that obtain information from a type descriptor.
Data type information | DataBlade API accessor function |
---|---|
The alignment, in number of bytes, of the data type | mi_type_align() |
Whether a value of the data type is passed by reference or passed by value | mi_type_byvalue() |
A type descriptor for the element type of a collection data type | mi_type_element_typedesc() |
The full name (owner.type_name) of the data type | mi_type_full_name() |
The length of the data type | mi_type_length() |
The maximum length of the data type | mi_type_maxlength() |
The owner of the data type | mi_type_owner() |
The precision (total number of digits) of the data type | mi_type_precision() |
The qualifier of a DATETIME or INTERVAL data type | mi_type_qualifier() |
The scale of a data type | mi_type_scale() |
The short name (no owner) of the data type | mi_type_typedesc() |
The type identifier for the data type | mi_typedesc_typeid() |
Restriction: To a DataBlade
API module,
the type descriptor (MI_TYPE_DESC) is an opaque C data structure.
Do not access its internal fields directly. The internal structure
of MI_TYPE_DESC might change in future releases. Therefore,
to create portable code, always use the accessor functions in Table 1 to obtain values from
this structure.
The DataBlade
API uses
type descriptors in the following situations.
Type descriptor usage | More information |
---|---|
To indicate a column type in a row descriptor | Description of mi_column_typedesc() in the IBM® Informix® DataBlade API Function Reference |
To obtain the source type of a distinct type | Description of mi_get_type_source_type() in the IBM Informix DataBlade API Function Reference |
To process returned row data, especially when not all the rows returned by a query have the same size and structure | Description of mi_get_row_desc_from_type_desc() in the IBM Informix DataBlade API Function Reference |
To identify a cast function by the source and target data types to generate its function descriptor | Description of mi_td_cast_get() in the IBM Informix DataBlade API Function Reference |