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 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. 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 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.