Product Documentation

c-treeACE V11.0 Update Guide

Previous Topic

Next Topic

New Extended Data Types Support

The range of values available for new c-treeACE data types has been extended.

This support required changing the format in which the record schema (DODA) is stored on disk and in memory. It affects server, client, and standalone code.

Backward compatibility has been preserved as much as possible:

  • The record schema is stored in the new format only if the record schema uses data types in the new range.
  • A FairCom Server that supports the new range of data types sends the appropriate record schema format to the client based on whether the client supports the new range of data types. If the record schema uses a data type in the new range and the client does not support the new record schema format, the server fails the operation with error DTPC_ERR (1010, "This file uses data types that your client library does not support. Update your client library").
  • A client that supports the new range of data types sends the appropriate record schema format to the server based on whether the server supports the new range of data types. If the record schema uses a data type in the new range and the server does not support the new record schema format, the client fails the operation with error DTPS_ERR (1011, "This client library uses data type support that your server does not support. Update your c-tree Server").
  • A file whose record schema is stored in the new format has a bit set in the file's header to indicate that it uses the new format. A FairCom Server or standalone library that does not support extended data types will fail to open a file whose record schema is stored in the new format with error FREL_ERR (744, "file requires unavailable feature"), and a message is logged to CTSTATUS.FCS to indicate which DEF_MASK bit triggered the error. The bit that indicates support for the new c-treeACE data type range is 0x40000, so the error message will look similar to the following (the message will include the 0x40000 bit in addition to any other feature bits that the server does not support):


FREL_ERR(744) unsupported DEF_MASK bits: 00040000x for file...

TOCIndex