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

Function TRA_attach_request

src/jrd/tra.cpp:202–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200
201
202void TRA_attach_request(Jrd::jrd_tra* transaction, Jrd::Request* request)
203{
204 // When request finishes normally transaction reference is not cleared.
205 // Then if afterwards request is restarted TRA_attach_request is called again.
206 if (request->req_transaction)
207 {
208 if (request->req_transaction == transaction)
209 return;
210 TRA_detach_request(request);
211 }
212
213 fb_assert(request->req_transaction == NULL);
214 fb_assert(request->req_tra_next == NULL);
215 fb_assert(request->req_tra_prev == NULL);
216
217 // Assign transaction reference
218 request->req_transaction = transaction;
219
220 // Add request to the doubly linked list
221 if (transaction->tra_requests)
222 {
223 fb_assert(transaction->tra_requests->req_tra_prev == NULL);
224 transaction->tra_requests->req_tra_prev = request;
225 request->req_tra_next = transaction->tra_requests;
226 }
227 transaction->tra_requests = request;
228}
229
230void TRA_detach_request(Jrd::Request* request)
231{

Callers 7

executeMethod · 0.85
EXE_startFunction · 0.85
IndexConditionMethod · 0.85
IndexExpressionMethod · 0.85
insertRecordMethod · 0.85
updateRecordMethod · 0.85
deleteRecordMethod · 0.85

Calls 1

TRA_detach_requestFunction · 0.85

Tested by

no test coverage detected