MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / findTransaction

Method findTransaction

src/jrd/extds/ExtDS.cpp:799–825  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

797}
798
799Transaction* Connection::findTransaction(thread_db* tdbb, TraScope traScope) const
800{
801 jrd_tra* tran = tdbb->getTransaction();
802 Transaction* ext_tran = NULL;
803
804 switch (traScope)
805 {
806 case traCommon :
807 ext_tran = tran->tra_ext_common;
808 while (ext_tran)
809 {
810 if (ext_tran->getConnection() == this)
811 break;
812 ext_tran = ext_tran->m_nextTran;
813 }
814 break;
815
816 case traTwoPhase :
817 ERR_post(Arg::Gds(isc_random) << Arg::Str("2PC transactions not implemented"));
818
819 //ext_tran = tran->tra_ext_two_phase;
820 // join transaction if not already joined
821 break;
822 }
823
824 return ext_tran;
825}
826
827
828void Connection::raise(const FbStatusVector* status, thread_db* /*tdbb*/, const char* sWhere)

Callers 1

getTransactionMethod · 0.80

Calls 5

GdsClass · 0.85
StrClass · 0.85
ERR_postFunction · 0.50
getTransactionMethod · 0.45
getConnectionMethod · 0.45

Tested by

no test coverage detected