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.