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

Method reconnectTransaction

src/jrd/jrd.cpp:3950–3992  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3948
3949
3950JTransaction* JAttachment::reconnectTransaction(CheckStatusWrapper* user_status, unsigned int length,
3951 const unsigned char* id)
3952{
3953/**************************************
3954 *
3955 * g d s _ $ r e c o n n e c t
3956 *
3957 **************************************
3958 *
3959 * Functional description
3960 * Connect to a transaction in limbo.
3961 *
3962 **************************************/
3963 jrd_tra* tra = NULL;
3964
3965 try
3966 {
3967 EngineContextHolder tdbb(user_status, this, FB_FUNCTION);
3968 check_database(tdbb);
3969
3970 try
3971 {
3972 tra = TRA_reconnect(tdbb, id, length);
3973 }
3974 catch (const Exception& ex)
3975 {
3976 transliterateException(tdbb, ex, user_status, "JAttachment::reconnectTransaction");
3977 return NULL;
3978 }
3979 }
3980 catch (const Exception& ex)
3981 {
3982 ex.stuffException(user_status);
3983 return NULL;
3984 }
3985
3986 successful_completion(user_status);
3987
3988 JTransaction* jt = FB_NEW JTransaction(tra, getStable());
3989 tra->setInterface(jt);
3990 jt->addRef();
3991 return jt;
3992}
3993
3994
3995void JRequest::deprecatedFree(CheckStatusWrapper* user_status)

Callers

nothing calls this directly

Calls 8

check_databaseFunction · 0.85
TRA_reconnectFunction · 0.85
transliterateExceptionFunction · 0.85
successful_completionFunction · 0.85
JTransactionClass · 0.85
stuffExceptionMethod · 0.45
setInterfaceMethod · 0.45
addRefMethod · 0.45

Tested by

no test coverage detected