void RepoTxn::step(RepoQuery& query) { try { query.step(); } catch (const std::exception&) { rollback(); throw; } }
void RepoTxn::exec(RepoQuery& query) { try { query.exec(); } catch (const std::exception& e) { rollback(); TRACE(4, "RepoTxn::%s(repo=%p) caught '%s'\n", __func__, &m_repo, e.what()); throw; } }
void RepoTxn::exec(RepoQuery& query) { ROLLBACK_GUARD([&] { query.exec(); }); }
void RepoTxn::step(RepoQuery& query) { ROLLBACK_GUARD([&] { query.step(); }); }