Faster Development With c-treeDB Productivity
c-tree Plus ISAM technology brings the fastest data and index handling available for your application, be it any size. When you want performance, you want the control and flexibility that direct record access delivers. However, achieving this performance can place a demand on the application programmer by requiring detailed knowledge of the c-tree Plus data and index file relationships. Many of these relationships reside in specific c-tree Plus resources knows as IFILs (Incremental File) and DODAs (Data Object Definition Array). A brief description of the c-tree Plus Resource feature is described below. (Review chapter 8, “c-tree Plus Features” in the c-tree Plus Programmer’s Reference Guide for complete information.) c-tree Plus has an extensive array of programming APIs to manage these resources, however, this can add to your learning curve for productive use of c-tree Plus.
Hide Complexity with c-treeDB
The c-tree Plus Database API, c-treeDB C and C++, removes nearly all of this complexity for you. IFIL, DODA, and Padding/Delimiter resources are all handled automatically by the c-treeDB interface. You simply add the appropriate fields and indexes to your table and c-treeDB does the rest.
IFIL and DODA information is automatically updated by c-treeDB when you change a table definition through and Alter Table call, ctdbAlterTable(). Other resources are handled by simple API calls. For example, to change the Padding character, simply call the c-treeDB C API function ctdbSetPadChar() or ctdbUpdatePadChar().
New! With the latest c-tree Plus V8.27, custom user defined c-tree Plus resources have been made available in the c-treeDB C and C++ APIs. Contact FairCom today if you wish to try out the latest new features of c-treeDB.
c-tree Plus Resources
There are times that you may want to attach auxiliary information to a particular data file that is not easy to integrate into the structure of that file. This could be a file version number, special flags relating to the status of the file, and so forth. Generally, this is information that is not repeated in each record of the file.
You could create a special record, with a special key value, that you do not process as you do your regular records. However, this forces you to handle this record, and it’s key, as an exception to the regular records, placing a burden upon the programmer.
c-tree Plus provides a special feature to handle this sort of information, called a Resource. Resources are special variable-length records stored in your file, whether you use fixed- or variable-length records, accessed via a special set of functions. These records do not require a key in an index, therefore your program will not access them if you are working with an index or using the ISAM functions.
Resources are an important part of the advanced features of c-tree Plus. FairCom defined resources are critical to the use of the c-tree Drivers, Incremental ISAM functionality, conditional index support, c-treeSQL and c-treeDB support, and they will continue to be important as new technology is add in the future. These resources are added automatically by some features or manually by the developer, and require the RESOURCES define in the c‑tree Plus library, which is the default. This section focuses on user defined resources added by you, the developer, but provides some background information on the uses of resources.
There are three general categories of c-tree Plus resources. they are outlined here:
- FairCom defined resources: There is a variety of information that, under certain circumstances, FairCom wishes to store in the file. This can be information relating to IFIL structures, alternate collating sequences, special characters for key padding, and so forth. Usually you do not access this information directly. It is available to a variety of c-tree Plus functions that use it. Some examples of these are:
- IFIL - The ISAM Incremental File structure. (See Chapter 5.6, “Incremental ISAM Structures”, c-tree Plus Programmer’s Reference Guide)
- DODA - The Data Object Definition Array. This valuable c-tree Plus Resource is required for ODBC and c-treeSQL access. (See Appendix D, “Record Schemas”, c-tree Plus Programmer’s Reference Guide)
- ALTCOL - Alternate Collation Sequence Resource. Frequently useful with indexes requiring unique, typically language specific sorting orders. (See Chapter 5.7, “Key Segment Modes”, c-tree Plus Programmer’s Reference Guide)
- PAD/DEL - Padding and Delimiter Resource. Used to set the pad and delimit characters in variable length files and index keys.
- SEC - c-tree File Security Resource. This resource is enabled when you require c-tree security information to access a file.
- User defined resources: Information that you wish to store in the file, such as a file version number, or an infrequently accessed counter. Use resources to store information associated with a file that varies from the type of information stored repetitively in the data records.
- Third party resources: As other developers create utilities integrating with c-tree Plus, FairCom assigns resource identifiers when necessary.

Related Items
Best of Both Worlds: Existing ISAM Applications and c-treeSQL
ISAM Performance With C# Ease
Transaction Processing with c-treeDB
c-treeDB C API Develper's Guide
c-treeDB C++ API Develper's Guide
|