Product Documentation

c-treeRTG V3 Release Notes

Previous Topic

Next Topic

File Structure and Duplicate Scan Problem Fixed

For physical variable-length tables (for example, enabling compression will force tables to be physically variable-length) with alternate keys allowing duplicates, c-treeRTG creates and includes a unique auto-incrementing value termed as "Serial Segment" (SRLSEG) appended to these keys forcing an internal uniqueness.

Files created with c-treeRTG V11.6 could lack the SRLSEG segment that would have been in their alternate key definitions if created with V11.2.3 and earlier. One symptom is the record length would be one byte larger than with V11.2.3 and earlier.

The following problems could be seen on files created with the affected c-treeRTG builds:

  1. A scan on a duplicate key with record updates could touch more records than expected because some records were matched multiple times (the record could be repositioned forward in the physical file on update and so the key gets found again).
  2. ISAM applications accessing the file that did not take RTGI resource information into account may not behave properly due to a different record and index layout.

The original behavior has been restored, correcting this issue.

Note: Only files created from builds in this date range will be affected. Existing files remained as they were. Any new files created should be identified, inspected and potentially updated.

Note that ctutil -rebuild will NOT fix the incorrect definitions.

Although ctutil -upgrade can fix an affected file by forcing a full reconstruction of the table, it is difficult to find the files that need to be fixed. For this reason, a utility has been created to find and fix the affected files. See below for this utility.

TOCIndex