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 |
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 |
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 |
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 |
Establishing a connection | Establishing a Connection |
Initializing the DataBlade API | Initializing the DataBlade API |
Managing Informix threads (database server only) | Yielding the CPU VP |
Obtaining transaction and server-processing state changes | Using a Transition Descriptor |
SQL statement processing: | |
Sending SQL statements | Executing Basic SQL Statements |
Obtaining statement information | Returning a Statement Descriptor |
Obtaining result information | Processing Statement Results |
Retrieving rows and row data (also row types and row-type data) | Obtaining Row Information |
Retrieving columns | Obtaining Column Information |
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, |
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 |
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 |
DECIMAL-type and MONEY-type processing | ESQL/C Functions for Decimal Conversion |
DATE-type processing | ESQL/C Functions for Date Conversion |
DATETIME-type processing and INTERVAL-type processing | ESQL/C Functions for Date, Time, and Interval Conversion |
INT8-byte processing | Converting INT8 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.
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:
These functions are useful for processing character data in the NCHAR and NVARCHAR data types, which can contain locale-specific information.
These functions provide the ability to handle end-user formats for the DATE, DATETIME, DECIMAL, and MONEY data types.
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 ]