Handles all logging to file operations. A log consists of three kinds of blocks:
DDL BLOCK: definition of DB objects, users and rights at startup time
DATA BLOCK: all data for MEMORY tables at startup time
LOG BLOCK: SQL statements logged since startup or the last CHECKPOINT
The implementation of this class and its subclasses support the formats used for writing the data. Since 1.7.2 the data can also be written as binray in order to speed up shutdown and startup.
From 1.7.2, two separate files are used, one for the DDL + DATA BLOCK and the other for the LOG BLOCK.
A related use for this class is for saving a current snapshot of the database data to a user-defined file. This happens in the SHUTDOWN COMPACT process or done as a result of the SCRIPT command. In this case, the DATA block contains the CACHED table data as well.
DatabaseScriptReader and its subclasses read back the data at startup time.
@author Fred Toussi (fredt@users dot sourceforge.net)
@version 1.9.0
@since 1.7.2