mco_disk_confirm_transaction
恢复并提交处于“未完成”状态的数据库事务。
此函数用于恢复并提交处于“未完成”状态的数据库事务,适用于持久化数据库的两阶段提交协议。该协议旨在协调多个外部事务,事务与其他外部事务处理系统之间的操作。如果运行持久化数据库的应用程序在提交的第一阶段和第二阶段之间发生故障,在重新启动时,应用程序需要从外部事务协调器接收指令,以决定是提交还是回滚最后一个未完成的事务。
此函数即用于执行提交最后一个未完成的事务。需要注意的是,必须在打开数据库之前调用此函数。
MCO_RET mco_disk_confirm_transaction(
/*IN*/ char const* log_file_path,
/*IN*/ MCO_LOG_TYPE log_type
);
参数
log_file_path
char const*
数据库事务日志文件的路径。
log_type
char const*
用于此数据库的事务日志类型。
返回
MCO_S_OK
事务已成功提交。
示例
/* 应用程序代码片段 */
const char * dbname = "SimpleDb";
int main(int argc, char* argv[])
{
mco_db_h db;
MCO_RET rc;
mco_device_t dev;
mco_db_params_t db_params;
bool recover = true;
...
if ( recover )
{
rc = mco_disk_confirm_transaction("ph2disk.log", REDO_LOG );
}
else
{
rc = mco_disk_reject_transaction("ph2disk.log", REDO_LOG );
}
...
rc = mco_db_open_dev( dbname, simple_get_dictionary(), &dev, 1, &db_params );
if ( MCO_S_OK != rc )
{
rc = mco_db_connect( dbname, &db );
...
}
...
}
文件
- 头文件:
mco.h
- 源文件:
mcodisk.c
- 库:
libmcovtdsk.a