This function reads a specified log file to check it for compatibility with the current database and to enumerate its labels.
MCO_RET mco_translog_query_info ( mco_db_h db,
char const *file_path,
mco_TL_labels_proc labels_proc,
void * user_data,
mco_TL_log_info_h info )
| db | Database connection handle |
| file_path | The path and filename or disk partition of the log file. |
| labels_proc | A user defined call-back function that enumerates labels inside the log file. (Note: May be NULL if is not used). |
| user_data | A pointer to user-specified data that will be passed to the call-back function labels_proc. |
| info | A pointer to a structure defined as:
typedef struct mco_TL_log_info_
{
mco_trans_counter_t start_trans_counter;
mco_trans_counter_t stop_trans_counter;
mco_trans_counter_t stored_transactions;
uint2 disk_page_size;
uint2 page_size;
mco_size_t log_size;
int labels_count;
mco_bool crc;
mco_bool aligned;
mco_bool dictionary_compat;
mco_bool transaction_apply_compat;
mco_bool transaction_append_compat;
mco_bool not_corrupted;
mco_bool iteratable;
} mco_TL_log_info_t,*mco_TL_log_info_h;
Note: May be NULL if is not used (i.e. is used only to enumerate the labels). (The structure elements are explained below.) |
This function reads a specified log file to check it for compatibility with the current database and to enumerate its labels.
The structure elements for structure mco_TL_log_info are defined as follows:
| start_trans_counter | The value of the transaction counter when the log file was started. |
| last_trans_counter | The value of the transaction counter when the log file was finished. |
| stored_transactions | The count of transactions stored in the log file. |
| disk_page_size | Size of a single disk page. |
| page_size | Size of an in-memory database page. |
| log_size | The total size of the log file, in bytes. |
| labels_count | The count of labels stored in the log file. |
| crc | MCO_YES if the log was created with MCO_TRANSLOG_CRC flag; otherwise MCO_NO. |
| aligned | MCO_YES if the log was created with MCO_TRANSLOG_ALIGNED flag; otherwise MCO_NO. |
| dictionary_compat | MCO_YES if the log file is compatible with the database specified by the argument "db"; otherwise MCO_NO. |
| transaction_apply_compat | MCO_YES if the log file is compatible for applying to the database specified by argument "db" (by transaction number); otherwise MCO_NO. |
| transaction_append_compat | MCO_YES if the log file is compatible for appending to the database specified by argument "db" (by transaction number); otherwise MCO_NO. |
| not_corrupted | MCO_YES if no data has been lost since the last save-point. |
| iteratable | MCO_YES if the log file was written with the MCO_TRANSLOG_ITERABLE flag. |
The user-defined callback procedure labels_proc must have the following prototype:
typedef void(*mco_TL_labels_proc)(const char *label, int label_id, void *data);
where label is the label text, label_id is the integer value associated with this label (that was generated by the TL runtime when the function mco_translog_label() was called), and data is a pointer to application-specific data that may be used in the implementation of the label procedure.