| 4194 | /// class TraceSweepEvent |
| 4195 | |
| 4196 | TraceSweepEvent::TraceSweepEvent(thread_db* tdbb) |
| 4197 | { |
| 4198 | m_tdbb = tdbb; |
| 4199 | |
| 4200 | WIN window(HEADER_PAGE_NUMBER); |
| 4201 | Ods::header_page* header = (Ods::header_page*) CCH_FETCH(m_tdbb, &window, LCK_read, pag_header); |
| 4202 | |
| 4203 | m_sweep_info.update(header); |
| 4204 | CCH_RELEASE(m_tdbb, &window); |
| 4205 | |
| 4206 | Attachment* att = m_tdbb->getAttachment(); |
| 4207 | |
| 4208 | gds__log("Sweep is started by %s\n" |
| 4209 | "\tDatabase \"%s\" \n" |
| 4210 | "\tOIT %" SQUADFORMAT", OAT %" SQUADFORMAT", OST %" SQUADFORMAT", Next %" SQUADFORMAT, |
| 4211 | att->getUserName("<Unknown user>").c_str(), |
| 4212 | att->att_filename.c_str(), |
| 4213 | m_sweep_info.getOIT(), |
| 4214 | m_sweep_info.getOAT(), |
| 4215 | m_sweep_info.getOST(), |
| 4216 | m_sweep_info.getNext()); |
| 4217 | |
| 4218 | TraceManager* trace_mgr = att->att_trace_manager; |
| 4219 | |
| 4220 | m_start_clock = fb_utils::query_performance_counter(); |
| 4221 | m_need_trace = trace_mgr->needs(ITraceFactory::TRACE_EVENT_SWEEP); |
| 4222 | |
| 4223 | if (!m_need_trace) |
| 4224 | return; |
| 4225 | |
| 4226 | TraceConnectionImpl conn(att); |
| 4227 | trace_mgr->event_sweep(&conn, &m_sweep_info, ITracePlugin::SWEEP_STATE_STARTED); |
| 4228 | } |
| 4229 | |
| 4230 | |
| 4231 | TraceSweepEvent::~TraceSweepEvent() |
nothing calls this directly
no test coverage detected