Beyond standard relational database objects, HCL Informix® can be extended to handle specialized data types, access methods, routines, and other objects. Informix includes many built-in extensions that are fully integrated in the database server. Informix also provides DataBlade® modules, which are packages of extended database objects for a particular purpose and that are installed separately from the database server. Alternatively, you can create your own user-defined objects for Informix.
You can create user-defined data types, routines, access methods, and other database objects to suit your needs. You can use application programming interfaces to write user-defined routines and applications that access data in Informix® databases.
The Informix® DataBlade® API Programmer's Guide describes information about the DataBlade API, the C-language application programming interface (API) provided with HCL Informix.
This section provides information about how to call a user-defined routine (UDR).
These topics describe how to use built-in database extensions and separately installed DataBlade® modules.
This section describes how to initialize, establish, and close connections.
One basic task of a DataBlade® API module is to send SQL statements to the database server for execution.
When the routine manager calls a UDR, it passes the routine-state information as an extra argument, called the function-parameter structure, to the routine. This function-parameter structure, MI_FPARAM, holds the routine-state information for the C UDR with which it is associated.
With the DataBlade® API Fastpath interface, DataBlade API modules can directly invoke a UDR that was registered in the database. This interface bypasses the overhead associated with invoking a UDR through an SQL statement. This interface bypasses the query optimizer and executor, which are needed for an SQL statement. You can use this interface to execute any SQL routine.
You can create user-defined routines that are invoked in trigger action statements to obtain information about the triggers, triggering tables, views, statements, and the values of rows involved in the trigger actions.
To enable UDRs to recognize a High-Availability Data Replication (HDR) configuration, you can use the mi_hdr_status() function.
This section describes exceptions and events, and explains how to handle them in DataBlade® API modules.
This section contains additional reference information.
The Informix® DataBlade® API Function Reference describes the DataBlade API functions and the subset of Informix ESQL/C functions that the DataBlade API supports.
The DataBlade® Developers Kit (DBDK) guides contain information about the tools you can use to develop and package DataBlade modules, which extend the functionality of HCL Informix® databases.
The J/Foundation Developer's Guide describes how to write user-defined routines (UDRs) in the Java™ programming language for Informix®.
The Informix® R-Tree Index User's Guide describes the HCL Informix R-tree secondary access method and how to access and use its components.
The Informix® User-Defined Routines and Data Types Developer's Guide describes how to define new data types and enable user-defined routines (UDRs) to extend HCL Informix.
The Informix® Virtual-Table Interface Programmer's Guide explains how to create a primary access method with the Virtual-Table Interface (VTI) so that users have a single SQL interface to HCL Informix tables and to data that does not conform to the storage scheme of HCL Informix.
The Informix® Virtual-Index Interface Programmer's Guide explains how to create a secondary access method with the Virtual-Index Interface (VII) to extend the built-in indexing schemes of HCL Informix typically with a DataBlade® module.