为了修改对象,BimRv 现在使用显式事务机制,该机制允许开发人员随时实现持久的数据库状态,并实现回滚机制。新机制还降低了调试复杂性,并消除了开放模式切换的问题。
使用显式事务要求在启动事务后调用数据修改,否则会抛出异常。
打开事务最简单的方法是使用事务块。这是一个典型的示例:
ODBM_TRANSACTION_BEGIN(transaction_name, pointer_to_database) transaction_name.start(); /* modification calls */
const bool some_condition = /* whatever condition is required */;
if (some_condition) {
transaction_name.commit();
} else {
transaction_name.rollback();
}
ODBM_TRANSACTION_END()
以下是代码的要点:
- transaction_name.start(); — 启动名为“transaction_name”的事务。
- transaction_name.commit(); — 提交事务期间所做的修改。
- transaction_name.rollback(); — 撤销事务期间所做的修改。
“start”或“rollback”都会关闭事务,之后不能再进行修改。 新的显式事务机制取代了 ODA BimRv 20.6 版本之前使用的隐式事务机制。