7namespace Stroika::Foundation::Database::Document {
14 inline Transaction::Transaction (unique_ptr<IRep>&& rep)
17#if qStroika_Foundation_Debug_AssertExternallySynchronizedChecker_Enabled
18 this->_fThisAssertExternallySynchronized.SetAssertExternallySynchronizedCheckerContext (
19 _fRep->_fThisAssertExternallySynchronized.GetSharedContext ());
22 inline Transaction::~Transaction ()
25 if (_fRep !=
nullptr) {
26 if (_fRep->GetDisposition () == IRep::Disposition::eNone) {
31 using namespace Characters::Literals;
32 DbgTrace (
"Suppress rollback failure exception in SQL transaction: {}"_f, current_exception ());
38 inline void Transaction::Rollback ()
44 inline void Transaction::Commit ()
50 inline String Transaction::ToString ()
const
56 sb <<
" disposition: "sv << _fRep->GetDisposition ();
64 constexpr EnumNames<Stroika::Foundation::Database::Document::Transaction::IRep::Disposition>
65 DefaultNames<Stroika::Foundation::Database::Document::Transaction::IRep::Disposition>::k{{{
66 {Stroika::Foundation::Database::Document::Transaction::IRep::Disposition::eNone, L
"None"},
67 {Stroika::Foundation::Database::Document::Transaction::IRep::Disposition::eRolledBack, L
"Rolled-Back"},
68 {Stroika::Foundation::Database::Document::Transaction::IRep::Disposition::eCompleted, L
"Completed"},
69 {Stroika::Foundation::Database::Document::Transaction::IRep::Disposition::eFailed, L
"Failed"},
#define RequireNotNull(p)
Similar to String, but intended to more efficiently construct a String. Mutable type (String is large...
String is like std::u32string, except it is much easier to use, often much more space efficient,...
unique_lock< AssertExternallySynchronizedChecker > WriteContext
Instantiate AssertExternallySynchronizedChecker::WriteContext to designate an area of code where prot...
shared_lock< const AssertExternallySynchronizedChecker > ReadContext
Instantiate AssertExternallySynchronizedChecker::ReadContext to designate an area of code where prote...