Type identifiers

A type identifier, MI_TYPEID, is a DataBlade® API data type structure that identifies a data type uniquely. For extended data types, the type identifier is database-dependent; that is, the same type identifier might identify different data types for different databases.

You can determine the data type that a type identifier represents with the following DataBlade® API functions.
Type-identifier check DataBlade® API function
Are two type identifiers equal? mi_typeid_equals()
Does the type identifier represent a built-in data type? mi_typeid_is_builtin()
Does the type identifier represent a collection (SET, MULTISET, LIST) data type? mi_typeid_is_collection()
Does the type identifier represent a complex data type (row type or collection)? mi_typeid_is_complex()
Does the type identifier represent a distinct data type? mi_typeid_is_distinct()
Does the type identifier represent a LIST data type? mi_typeid_is_list()
Does the type identifier represent a MULTISET data type? mi_typeid_is_multiset()
Does the type identifier represent a row type (named or unnamed)? mi_typeid_is_row()
Does the type identifier represent a SET data type? mi_typeid_is_set()
Restriction: To a DataBlade® API module, the type identifier (MI_TYPEID) is an opaque C data structure. Do not access its internal fields directly. The internal structure of a type identifier might change in future releases. Therefore, to create portable code, always use the accessor functions for this structure to determine data type.
The DataBlade® API uses type identifiers in the following situations.
Type identifier usage DataBlade® API function More information
To indicate a column type in a row descriptor mi_column_type_id() Obtain column information
To indicate data type of arguments in a user-defined routine (UDR) mi_fp_argtype(), mi_fp_setargtype() Determine the data type of UDR arguments
To indicate data type of return type of a UDR mi_fp_rettype(), mi_fp_setrettype() Determine the data type of UDR return values
To indicate data type of a column with which an input parameter in a prepared statement is associated mi_parameter_type_id() Obtain input-parameter information
To identify a UDR by the data types of its arguments to generate its function descriptor mi_routine_get_by_typeid() Look up a UDR
To identify a cast function by the source and target data types to generate its function descriptor mi_cast_get() Look up cast functions
To identify the element type of a collection mi_collection_create() Create a Collection