DataBlade® API data type structures

Many DataBlade® API functions provide information for DataBlade® API modules in special data type structures. The names of these data type structures begin with the MI_ prefix.

The following table lists the data type structures, their purposes, and where you can find detailed descriptions of them.

Table 1. DataBlade® API data type structures
DataBlade® API data type structure Purpose More information
MI_COLL_DESC Collection descriptor, which describes the structure of a collection A collection descriptor
MI_COLLECTION Collection structure, which contains the elements of a collection A collection structure
MI_CONNECTION Connection descriptor, which contains the execution context for a connection Establish a connection
MI_CONNECTION_INFO Connection-information descriptor, which contains connection parameters for an open connection Connection parameters
MI_DATABASE_INFO Database-information descriptor, which contains database parameters for an open connection Database parameters
MI_DATUM Datum, which provides a transport mechanism to pass data of an SQL data type by value or by reference The MI_DATUM data type
MI_ERROR_DESC Error descriptor, which describes an exception Event information
MI_FPARAM Function-parameter structure, which holds information about a UDR that the routine can access during its execution Access MI_FPARAM routine-state information
MI_FUNCARG Function-argument structure, which holds information about the argument of a companion UDR The MI_FUNCARG data type
MI_FUNC_DESC Function descriptor, which describes a UDR that is to be invoked with the Fastpath interface Obtain a function descriptor
MI_LO_FD LO file descriptor, which describes an open smart large object Obtain an LO file descriptor
MI_LO_HANDLE LO handle, which identifies the location of a smart large object in its sbspace Obtain an LO handle
MI_LO_SPEC LO-specification structure, which contains storage characteristics for a smart large object Obtain the LO-specification structure
MI_LO_STAT LO-status structure, which contains status information for a smart large object Obtaining status information for a smart large object
MI_PARAMETER_INFO Parameter-information descriptor, which specifies whether callbacks are enabled or disabled and whether pointers are checked in client LIBMI applications Session parameters
MI_ROW Row (or row structure), which contains either the column values of a table row or field values of a row type Retrieve rows A row structure
MI_ROW_DESC Row descriptor, which describes the structure of a row Obtain row information A row descriptor
MI_SAVE_SET Save-set descriptor, which describes a save set Create a save set
MI_STATEMENT Statement descriptor, which describes a prepared SQL statement Execute prepared SQL statements
mi_statret Statistics-return structure (C language structure), which holds the collected statistics for a user-defined data type SET_END in statcollect()
MI_STREAM Stream descriptor, which describes an open stream
A stream is an object that can be written to or read from. The DataBlade® API has functions for the following predefined stream classes:
  • File stream
  • String stream
  • Varying-length-data stream
MI_TRANSITION_DESC Transition descriptor, which describes a state transition Understanding state-transition events
MI_TYPEID Type identifier, which uniquely identifies a data type within a database Type identifiers
MI_TYPE_DESC Type descriptor, which provides information about a data type Type descriptors
The DataBlade® API provides constructor and destructor functions for most of these public data type structures. These functions handle memory allocation of these data type structures, as follows:
  • The constructor function for a DataBlade® API data type structure creates a new instance of the data type structure.

    A constructor function usually returns a pointer to the DataBlade® API data type structure and allocates memory for the structure.

    Server only: The memory allocation is in the current memory duration, which is PER_ROUTINE by default. For more information, see Choose the memory duration.
  • The destructor function for a DataBlade® API data type structure frees the instance of the data type structure.

    You specify a pointer to the DataBlade® API data type structure to the destructor function. The destructor function deallocates memory for the specified data type structure. Call destructor functions only for DataBlade® API data type structures that you explicitly allocated with the corresponding constructor function.