MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / ~Attachment

Method ~Attachment

src/jrd/Attachment.cpp:284–315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282
283
284Jrd::Attachment::~Attachment()
285{
286 if (att_idle_timer)
287 att_idle_timer->stop();
288
289 delete att_trace_manager;
290
291 for (Function** iter = att_functions.begin(); iter < att_functions.end(); ++iter)
292 {
293 Function* const function = *iter;
294 if (function)
295 delete function;
296 }
297
298 for (jrd_prc** iter = att_procedures.begin(); iter < att_procedures.end(); ++iter)
299 {
300 jrd_prc* const procedure = *iter;
301 if (procedure)
302 delete procedure;
303 }
304
305 while (att_pools.hasData())
306 deletePool(att_pools.pop());
307
308 // For normal attachments that happens in release_attachment(),
309 // but for special ones like GC should be done also in dtor -
310 // they do not (and should not) call release_attachment().
311 // It's no danger calling detachLocks()
312 // once more here because it nulls att_long_locks.
313 // AP 2007
314 detachLocks();
315}
316
317
318bool Attachment::locksmith(thread_db* tdbb, SystemPrivilege sp) const

Callers

nothing calls this directly

Calls 5

stopMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
hasDataMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected