Revision levels and file compatibility

ISAM Revision 6 is the default revision level for all ISAM files being created, unless 6 is overridden by the ISAMC_REV environment variable. (ISAMC_REV enables you to create ISAM files compatible with previous versions of Synergy or to convert ISAM files to a higher revision level.)

Starting with Revision 6, ISAM files also have a compat level, which enables them to change their file structure without requiring an entire ISAM revision change. The compat level begins with the revision number, followed by a period and another digit that is incremented by 1 each time new ISAM features are added.

Current compat levels and their features are as follows:

Compat level

Minimum release version

ISAM features

6.0

10.1

6.1

Non-Synergy release

6.2

10.3

Support of records greater than 64K

CTIMESTAMP key

SIZE_LIMIT option

RECORD_LIMIT option

6.3 10.3.1a ERASE_ON_DELETE
6.4 11.1 RESILIENT and FULLRESILIENT

All REV 6 files created without any of the above listed features have the initial 6.0 compat level. Using one or more of the features above gives a file the specified compat level.

As an example, let’s say you install Synergy/DE version 10.1. If you create files with any ISAM options available through version 10.1, the compat level for these files is 6.0. You can access these files with version 10, but because the revision level is REV 6, you can’t access them with earlier Synergy versions (9.5.3, 8.3.1, etc.), which had a lower revision level.

If you upgrade one of your systems to 10.3, both versions 10.1 and 10.3 can access the files you created with 10.1, because version 10.3 can access prior revisions (4 and 6) and compat levels. If you create new files with 10.3 and continue to use the 10.1 compatible options, both 10.1 and 10.3 can still access the files, and the compat level is 6.0. However, if you create more new files with 10.3 and this time use new 10.3 options such as the CTIMESTAMP autokey, the compat level for these files will be 6.2. If version 10.1 attempts to open the file now, it can’t, because 10.1 can only access a compat level of 6.0.

To view the compat level of a file, use the ipar utility. Below is some sample output of a file created with 10.3 with new options. Note that it says “revision 6” and then below that, “Creation version 10.2.5c {Compat Level 6.2}.”

;       Synergy ISAM PAR File created Fri Oct 17 15:14:10 2014
test
50      ;Record size
1       ;Number of keys
        ;5ca5 magic, revision 6, 1 byte record overhead
        ;Static vectoring disabled
        ;Default R6 file attributes:
        ;  Static RFAs enabled (Required)
        ;  Page size 4K
        ;Creation version 10.2.5c {Compat Level 6.2}
        ;0 of 32 byte file text allocation in use, @0x1694
        ;Update revision count 0
        ;File created on Fri Oct 17 15:14:05 2014
        ;8 byte longest key
        ;0 free index blocks, 0x0 free list head
        ;0 records, 0 free
/type
        ;Primary key
C       ;Create timestamp autokey type
8       ;Key size
1       ;Start position
N       ;Duplicates allowed
A       ;Ascending/descending
        ;Root 0x2000, index depth 1
        ;Minimum keys per block 170