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

Function done

src/yvalve/why.cpp:1351–1368  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1349
1350 template <class Y>
1351 void done(CheckStatusWrapper* status, YEntry<Y>& entry, Y* y, std::function<void()> newClose, std::function<void()> oldClose)
1352 {
1353 if (entry.next())
1354 newClose();
1355
1356 if (!(status->getState() & IStatus::STATE_ERRORS))
1357 y->destroy(Y::DF_RELEASE | Y::DF_KEEP_NEXT);
1358
1359 else if (status->getErrors()[1] == isc_interface_version_too_old)
1360 {
1361 status->init();
1362 if (entry.next())
1363 oldClose();
1364
1365 if (!(status->getState() & IStatus::STATE_ERRORS))
1366 y->destroy(Y::DF_RELEASE);
1367 }
1368 }
1369
1370} // namespace Why
1371

Callers 7

cancelMethod · 0.70
freeMethod · 0.70
closeMethod · 0.70
commitMethod · 0.70
rollbackMethod · 0.70
detachMethod · 0.70
dropDatabaseMethod · 0.70

Calls 5

nextMethod · 0.45
getStateMethod · 0.45
destroyMethod · 0.45
getErrorsMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected