During the Universal Driver testing process, we discovered that the current versions of the Linear Hash (LH) filing system have some inconsistencies. Specifically, records stored in the LH can (in theory) have unlimited-length keys, but many of the tools and internal processes of OpenInsight expect that record keys do have a limit.
In both the UD 4.6 and UDH 4.6 record keys can now be a maximum of 512 characters long. Any keys that exceed this limit will now be "illegal" and applications will be unable to either read or write them. The server event log will report Linear Hash error 1016 for this condition.
Since this will make the records unreadable, they will be treated as though there is a "group format error" (GFE) in any table that contains them, and so the Database Manager tool in OpenInsight release 9.0.1 to Verify LH has also been updated to report these "errors", and the "fix" option has been updated to copy them to a new table called DUMP_FIX_SAVE.
Another, more critical fix, is that currently, the "Fix GFEs" option on the Verify LH menu silently considers any records with keys greater than 50 characters long to be GFEs. Anyone running the "Fix GFEs" option, either from Verify LH menu or the Fix Group Format Errors menu, will lose any records that have keys longer than 50 characters. As a result of this issue, we are including with both the UD 4.6 and UDH 4.6 a RDK containing a FIX_LH routine. This updated routine removes the "50-character-throwaway" functionality and replaces it with the "512-character-save" functionality.
|