Jump to main content
Product Documentation
Customer Support
HCL OneDB V 1.0.1.0
What's new in
HCL OneDB™
1.0.1.0
Getting Started
Installing
Administering
Security
Client APIs and tools
SQL programming
JSON compatibility
Extending
HCL OneDB™
Designing databases
Embedding
HCL OneDB™
Release information
Search
Home
Extending
HCL OneDB™
Beyond standard relational database objects,
HCL OneDB™
can be extended to handle specialized data types, access methods, routines, and other objects.
HCL OneDB™
includes many built-in extensions that are fully integrated in the database server.
HCL OneDB™
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
HCL OneDB™
.
Creating extensions
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
HCL OneDB™
databases.
DataBlade®
Developers Kit
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 OneDB™
databases.
DataBlade®
Developers Kit User's Guide
The
HCL OneDB™
DataBlade®
Developers Kit Users Guide
describes how to use
OneDB® DataBlade® Developers Kit (DBDK)
tools to develop and package
DataBlade®
modules.
Programming
DataBlade®
module routines in C
This section contains information to help you edit and compile C language source code generated by
DataBlade®
.
Generated code
Extending
HCL OneDB™
Beyond standard relational database objects,
HCL OneDB™
can be extended to handle specialized data types, access methods, routines, and other objects.
HCL OneDB™
includes many built-in extensions that are fully integrated in the database server.
HCL OneDB™
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
HCL OneDB™
.
HCL OneDB™
extensions and
DataBlade®
modules
These topics describe how to use built-in database extensions and separately installed
DataBlade®
modules.
Creating extensions
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
HCL OneDB™
databases.
DataBlade® API
Function Reference
The
HCL OneDB™ DataBlade® API Function Reference
describes the
DataBlade® API
functions and the subset of functions that the
DataBlade® API
supports.
DataBlade®
Developers Kit
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 OneDB™
databases.
DataBlade Module Development Overview
DataBlade®
Developers Kit User's Guide
The
HCL OneDB™
DataBlade®
Developers Kit Users Guide
describes how to use
OneDB® DataBlade® Developers Kit (DBDK)
tools to develop and package
DataBlade®
modules.
Getting started with
DataBlade®
module development
This section provides an overview of
DataBlade®
module development and describes the resources and tools the
HCL OneDB™
database server provides to facilitate development.
Design
DataBlade®
modules
This section describes the
DataBlade®
module SQL design issues.
Programming guidelines
Use this section to help you when you write the design specification for your
DataBlade®
module.
Create
DataBlade®
objects by using BladeSmith
Use BladeSmith to create
DataBlade®
modules.
Programming
DataBlade®
module routines in C
This section contains information to help you edit and compile C language source code generated by
DataBlade®
.
Prerequisite tasks
C programming task overview
Source files generated by BladeSmith
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.
Generated code
Identify the source of generated code
When BladeSmith generates source code for your
DataBlade®
module, it uses routines and data structures from various libraries.
Comments in generated code
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.
The MI_FPARAM function argument
BladeSmith adds an extra argument to all routines it generates: a pointer to an MI_FPARAM structure.
Server connection handle
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.
Tracing and error handling
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.
Utility functions generated by BladeSmith
BladeSmith generates utility functions that it calls from other generated code.
Edit opaque type support routines in opaque.c
The following subsections describe the code BladeSmith generates for each routine and modifications you might need to make to the generated code.
Edit statistics routines in statistics.c
Edit routines in udr.c
Compile
DataBlade®
module code
This section describes how to compile
DataBlade®
module code.
Create ActiveX value objects
This section describes how to use the
OneDB® DataBlade® Developers Kit (DBDK)
to create ActiveX value objects. This section describes the use of C++ to implement opaque type support routines.
The ActiveX value objects
This section provides information for client application developers who are using ActiveX value objects.
Programming
DataBlade®
modules in Java™
This section contains information to help you edit and compile Java™ language source code generated by BladeSmith.
Debugging and testing
DataBlade®
modules on UNIX™
This section describes how to debug and perform functional tests for
DataBlade®
modules written in C for
HCL OneDB™
on UNIX™.
Debugging and testing
DataBlade®
modules on Windows™
This section describes how to debug and perform functional tests for
DataBlade®
modules written in C and C++ for
HCL OneDB™
on Windows™.
BladePack
BladePack creates installation packages for
DataBlade®
modules and other software products.
Appendixes
This section contains additional reference information.
DBDK InfoShelf
The
DataBlade®
Developers Kit InfoShelf is designed to help you work with BladeSmith.
J/Foundation Developer's Guide
The
HCL® J/Foundation Developer's Guide
describes how to write user-defined routines (UDRs) in the Java™ programming language for
HCL OneDB™
.
User-Defined Routines and Data Types Developer's Guide
The
HCL OneDB™ 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 OneDB™
.
Generated code
Identify the source of generated code
When BladeSmith generates source code for your
DataBlade®
module, it uses routines and data structures from various libraries.
Comments in generated code
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.
The MI_FPARAM function argument
BladeSmith adds an extra argument to all routines it generates: a pointer to an MI_FPARAM structure.
Server connection handle
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.
Tracing and error handling
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.
Utility functions generated by BladeSmith
BladeSmith generates utility functions that it calls from other generated code.