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

Method doStart

src/jrd/extds/InternalDS.cpp:315–336  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

313// InternalTransaction()
314
315void InternalTransaction::doStart(FbStatusVector* status, thread_db* tdbb, ClumpletWriter& tpb)
316{
317 fb_assert(!m_transaction);
318
319 jrd_tra* localTran = tdbb->getTransaction();
320 fb_assert(localTran);
321
322 if (m_scope == traCommon && m_IntConnection.isCurrent())
323 m_transaction = localTran->getInterface(true);
324 else
325 {
326 JAttachment* att = m_IntConnection.getJrdAtt();
327
328 EngineCallbackGuard guard(tdbb, *this, FB_FUNCTION);
329
330 m_transaction.assignRefNoIncr(
331 att->startTransaction(status, tpb.getBufferLength(), tpb.getBuffer()));
332
333 if (m_transaction)
334 m_transaction->getHandle()->tra_callback_count = localTran->tra_callback_count;
335 }
336}
337
338void InternalTransaction::doPrepare(FbStatusVector* /*status*/, thread_db* /*tdbb*/,
339 int /*info_len*/, const char* /*info*/)

Callers

nothing calls this directly

Calls 9

getJrdAttMethod · 0.80
assignRefNoIncrMethod · 0.80
getTransactionMethod · 0.45
isCurrentMethod · 0.45
getInterfaceMethod · 0.45
startTransactionMethod · 0.45
getBufferLengthMethod · 0.45
getBufferMethod · 0.45
getHandleMethod · 0.45

Tested by

no test coverage detected