This function reads a specified log file up to the specified label and applies its content to the database.
MCO_RET mco_translog_apply ( mco_db_h db, char const *file_path, int label_id )
db | Database connection handle |
file_path | The path and filename or disk partition of the log file |
label_id | The Id of a label or the value MCO_TRANSLOG_ALL_LABELS |
This function reads a specified log file up to the specified label and, if the log file is “compatible”, applies its content to the database. To determine that the log file is compatible, first the dictionary, runtime and data sizes are checked, and then finally the database transaction counter is compared to the transaction counter stored in the log file. The log file compatibility can first be checked by calling the function mco_translog_query_info()
.
Note that the label_id
argument refers to labels inserted into the log by calls to mco_translog_label()
. If labels are present in the log, by specifying the desired label number the log can be restored up to that label. While the constant MCO_TRANSLOG_ALL_LABELS
means to read the complete log. (For example, it is possible to write labels once an hour and then restore and inspect the database state at a specified hour.)
MCO_S_OK | The log file was read successfully |
MCO_E_TL_LOG_NOT_OPENED |
The log file could not be opened |
MCO_E_TL_IO_ERROR |
Disk IO error. |
MCO_E_VERS_MISMATCH |
The log file is incompatible with the runtime settings or the database version. |
MCO_E_TL_INVFORMAT |
The log file is corrupted. |
MCO_S_TL_INVDATA |
The log file was not read completely but some transactions were found, if no end-of-file was found. |
MCO_E_NOMEM |
Insufficient memory to complete the operation. |