Version
Version table Core Data | ||||
---|---|---|---|---|
[id] | [major] | [minor] | [revision] | [test] |
1 | 0 | 0 | 11 | 0 |
2 | 0 | 0 | 1 | 0 |
The Version table holds a row for each type of database. This ties the database to a precise definition. The intention is to allow any program to know what to expect and, if appropriate, update the database. The database specification, in this case, includes the core data, but not other common data.
The version number of the database is independent of the version number of the TFP program. The program about box should give details of the versions used.
major
Once the database reaches a point where it is "production ready" and fully usable, the major version numbers will be set to 1. Thereafter the the major version number will increase only when a significant change is made, one in which data loss may occur when updating an older version.
minor
In general, a program is designed to work with a given major/minor version. If the program detects an older version it may offer the option of updating the database to bring it to a state the program can use. If the database has a higher major/minor version than the program is designed for, the program must reject the file.
revision
Small changes to the database are indicated by increasing the revision number. Typically this will be an addition to the the core data although it may involve other changes. A program may offer to update an older revision, but if the offer is not taken up, it should still work.
test
This value is used during development to facilitate making small changes, some of which may be reversed, before the final release of the program version. Databases created or updated by released programs should always have this value set to zero.