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 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 HCL Informix® DataBlade® Developers Kit User's Guide describes how to use tools to develop and package DataBlade modules.
This section contains information to help you edit and compile C language source code generated by DataBlade®.
These topics describe how to use built-in database extensions and separately installed DataBlade® modules.
The Informix® DataBlade® API Programmer's Guide describes information about the DataBlade API, the C-language application programming interface (API) provided with HCL Informix.
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 HCL Informix® DataBlade® module overview serves as an overview of the HCL Informix DataBlade module development process.
This section provides an overview of DataBlade® module development and describes the resources and tools the HCL Informix® database server provides to facilitate development.
This section describes the DataBlade® module SQL design issues.
Use this section to help you when you write the design specification for your DataBlade® module.
Use BladeSmith to create DataBlade® modules.
When you create objects, BladeSmith generates the source files; some file names are prefixed with the name of the DataBlade® module (indicated by project). By default, BladeSmith creates the source files in the src and src\c subdirectories of the directory that contains the BladeSmith project file.
When BladeSmith generates source code for your DataBlade® module, it uses routines and data structures from various libraries.
BladeSmith adds comments to the code it generates. Each routine begins with a prologue that describes the purpose of the routine, its arguments, and its return value. Comments throughout the code describe variable declarations and the results of generated C statements and routine calls.
BladeSmith adds an extra argument to all routines it generates: a pointer to an MI_FPARAM structure.
BladeSmith calls mi_open() at the beginning of many of the routines it generates. The mi_open() call obtains a database server connection handle, which is a required argument in many DataBlade® API calls.
BladeSmith adds tracing and error handling code throughout the generated source code if the tracing option is set to True when you generate source code in BladeSmith.
BladeSmith generates utility functions that it calls from other generated code.
The following subsections describe the code BladeSmith generates for each routine and modifications you might need to make to the generated code.
This section describes how to compile DataBlade® module code.
This section describes how to use the to create ActiveX value objects. This section describes the use of C++ to implement opaque type support routines.
This section provides information for client application developers who are using ActiveX value objects.
This section contains information to help you edit and compile Java™ language source code generated by BladeSmith.
This section describes how to debug and perform functional tests for DataBlade® modules written in C for Informix® on UNIX™.
This section describes how to debug and perform functional tests for DataBlade® modules written in C and C++ for Informix® on Windows™.
BladePack creates installation packages for DataBlade® modules and other software products.
This section contains additional reference information.
The DataBlade® Developers Kit InfoShelf is designed to help you work with BladeSmith.
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.