Home | Previous Page | Next Page   DataBlade API Overview > Using the DataBlade API > DataBlade API Components >

Regular Public Functions

The DataBlade API provides support for the following kinds of functions in a DataBlade API module.

Kind of Functions Purpose
DataBlade API functions Provide access to the database server
IBM Informix ESQL/C functions Provide operations on certain data types
IBM Informix GLS functions Provide the ability to internationalize your DataBlade API module

DataBlade API Functions

The DataBlade API functions begin with the mi_ prefix. The milib.h header file declares most of these DataBlade API functions. The mi.h header file automatically includes milib.h. You must include mi.h in any DataBlade API module that uses a DataBlade API function.

The functions of the DataBlade API function library can be divided into the following categories.

Category of DataBlade API Functions More Information
Data handling:
Obtaining type information Type Identifiers

Type Descriptors

Transferring data types between computers (database server only) Conversion of Opaque-Type Data with Computer-Specific Data Types
Converting data to a different data type DataBlade API Functions for Date Conversion

DataBlade API Functions for Date-Time or Interval Conversion

DataBlade API Functions for Decimal Conversion

DataBlade API Functions for String Conversion

Handling collections: sets, multisets, and lists Collections
Converting between code sets (database server only) Internationalization of DataBlade API Modules (GLS)
Handling collections Collections
Managing varying-length structures Varying-Length Data Type Structures
Obtaining SERIAL values Processing Insert Results
Handling NULL values SQL NULL Value
Session, thread, and transaction management:
Obtaining connection information Using Connection Parameters

Using Database Parameters

Using Session Parameters

Establishing a connection Establishing a Connection
Initializing the DataBlade API Initializing the DataBlade API
Managing Informix threads (database server only) Yielding the CPU VP

Managing Stack Usage

Obtaining transaction and server-processing state changes Using a Transition Descriptor
SQL statement processing:
Sending SQL statements Executing Basic SQL Statements

Executing Prepared SQL Statements

Obtaining statement information Returning a Statement Descriptor

Obtaining Input-Parameter Information

Obtaining result information Processing Statement Results
Retrieving rows and row data (also row types and row-type data) Obtaining Row Information

Retrieving Rows

Retrieving columns Obtaining Column Information

Obtaining Column Values

Using save sets Using Save Sets
Executing user-defined-routines:
Accessing an MI_FPARAM structure Accessing MI_FPARAM Routine-State Information
Allocating an MI_FPARAM structure Using a User-Allocated MI_FPARAM Structure
Using the Fastpath interface Calling UDRs with the Fastpath Interface
Accessing a function descriptor Obtaining Information from a Function Descriptor
Executing selectivity and cost functions: Writing Selectivity and Cost Functions
Memory management:
Managing user memory Managing User Memory
Managing named memory (database server only) Managing Named Memory
Exception handling:
Raising a database exception Raising an Exception
Accessing an error descriptor Using an Error Descriptor,

Handling Multiple Exceptions

Using callback functions Invoking a Callback
Smart-large-object interface:
Creating a smart large object Functions That Create a Smart Large Object
Performing I/O on a smart large object Functions That Perform Input and Output on a Smart Large Object
Moving smart large objects to and from operating-system files Functions That Move Smart Large Objects to and from Operating-System Files
Manipulating LO handles Functions That Manipulate an LO Handle
Handling LO-specification structures Functions That Access an LO-Specification Structure
Handling smart-large-object status Functions That Access an LO-Status Structure
Operating-system file interface: Access to Operating-System Files
Tracing (database server): Using Tracing

For a complete list of DataBlade API functions in each of these categories, see the IBM Informix: DataBlade API Function Reference, which provides descriptions of the regular public and advanced functions, in alphabetical order. For more information on advanced functions of the DataBlade API, see Advanced Features (Server).

If an error occurs while a DataBlade API function executes, the function usually indicates the error with one of the following return values.

Way to Indicate an Error More Information
Functions that return a pointer return the NULL-valued pointer NULL-Valued Pointer
Functions that return an mi_integer value (or other integer) return the MI_ERROR status code Handling Errors from DataBlade API Functions
Functions that raise an exception Handling Errors from DataBlade API Functions

IBM Informix ESQL/C Functions

In a DataBlade API module, you can use some of the functions in the IBM Informix ESQL/C library functions to perform conversions and operations on different data types. The ESQL/C functions do not begin with the mi_ prefix. Various header files declare these functions. For more information, see ESQL/C Header Files.

The functions of the ESQL/C function library that are valid in a DataBlade API module can be divided into the following categories.

Category of DataBlade API Function More Information
Byte handling Manipulating Byte Data
Character processing ESQL/C Functions for String Conversion

Operations on Character Values

DECIMAL-type and MONEY-type processing ESQL/C Functions for Decimal Conversion

Performing Operations on Decimal Data

DATE-type processing ESQL/C Functions for Date Conversion

Operations on Date Data

DATETIME-type processing and INTERVAL-type processing ESQL/C Functions for Date, Time, and Interval Conversion

Operations on Date and Time Data

INT8-byte processing Converting INT8 Values

Performing Operations on Eight-Byte Values

Processing for other C-language data types Formatting Numeric Strings

For a complete list of ESQL/C functions in each of these categories, see the IBM Informix: DataBlade API Function Reference, which provides descriptions of these public functions, in alphabetical order.

IBM Informix GLS Functions

The IBM Informix GLS library is an API that lets developers of DataBlade API modules create internationalized applications. This library is a threadsafe library. The macros and functions of IBM Informix GLS provide access to the GLS locales, which contain culture-specific information.

The IBM Informix GLS library contains functions that provide the following capabilities:

The mi.h header file does not automatically include the IBM Informix GLS library. For more information on the IBM Informix GLS library and how to use it in a DataBlade API module, see Internationalization of DataBlade API Modules (GLS).

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]