Product Documentation

c-treeDB API for C# - Developers Guide

Previous Topic

Next Topic

Compatibility with FairCom DB ISAM and Low-Level Data Files

The basic requirement for FairCom DB ISAM and low-level data and index files to work with c-treeDB .NET is that the data file must have a DODA describing the fields and an IFIL describing the data and index structures. The DODA resource must have an entry for every field that forms a data record.

The c-treeDB .NET interface was designed to work best with ISEG structures with schema segments, that is, each index segment is a field declared in a DODA entry. c-treeDB .NET works with index segments defined in the ISEG structures using absolute record offsets and arbitrary lengths, that may or may not span more than one field in the record buffer, but advanced features of c-treeDB .NET may not work as expected.

CTTable.AlterTable(), CTRecord.SetRecordOn(), and CTRecord.FindRecord() are typical examples of functions that may not work as expected when dealing with absolute segment offsets.

Another source of problems may come from non-standard usage of c-tree field types declared in the DODA. There have been cases where CT_ARRAY fields were being used for variable length data, and CT_STRING fields were being used as fixed string fields. Another source of concern are CT_DATE, CT_TIME, and CT_DATETIME fields whose contents will not be compatible with the definitions of date and time used by c-treeDB .NET.

c-treeDB .NET was designed from the outset to be as compatible as possible with existing c-tree ISAM and low-level data, but there may be situations where c-treeDB .NET may not be able to handle very specific data type arrangements used by FairCom DB users in their custom applications.

TOCIndex