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

Method handler

src/burp/BurpTasks.cpp:188–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

186}
187
188bool BackupRelationTask::handler(WorkItem& _item)
189{
190 Item* item = static_cast<Item*>(&_item);
191
192 try
193 {
194 Item::EnsureUnlockBuffer unlock(item);
195
196 if (item->m_writer)
197 {
198 BurpGblHolder holder(m_masterGbl, item);
199 return fileWriter(*item);
200 }
201
202 BurpGlobals gbl(m_masterGbl->uSvc);
203 gbl.master = false;
204
205 BurpGblHolder holder(&gbl, item);
206
207 initItem(&gbl, *item);
208 return tableReader(*item);
209 }
210 catch (const LongJump&)
211 {
212 m_stop = true;
213 m_error = true;
214 stopItems();
215 }
216 catch (const Exception& ex) // could be different handlers for LongJump and Exception
217 {
218 FbLocalStatus st;
219 ex.stuffException(&st);
220
221 { // scope
222 SimpleGblHolder gbl(m_masterGbl);
223 BURP_print_status(true, &st);
224 }
225
226 m_stop = true;
227 m_error = true;
228 stopItems();
229 }
230 return false;
231}
232
233bool BackupRelationTask::getWorkItem(BackupRelationTask::WorkItem** pItem)
234{

Callers

nothing calls this directly

Calls 3

BURP_print_statusFunction · 0.85
notifyAllMethod · 0.80
stuffExceptionMethod · 0.45

Tested by

no test coverage detected