Gbak Performance Enhancements

Brief Description

GBAK performance enhancements.

Feature Description

Functional Changes

A significant percentage of GBAK restore time was spent restoring the metadata for a new database. Engine enhancements were made to system metadata so that restores of user metadata would be improved. Changes involved adding indices on system tables. GBAK's internal buffer was also increased in size to reduce system calls when reading (or writing) the backup file. GBAK now uses memcpy call's to move bytes around rather than byte-by-byte loops. GBAK now uses the faster isc_ engine entry points rather than the historical gds_ entrypoints. An important functional difference in GBAK is that in 5.0 it will no longer throw away a "failed" database restore if the only failure in the restore was the lack of user indices to be activated due to sort file space problems. The database will be restored, but will be left in "offline" mode so the database administrator can restore the indices individually and then bring the database online.