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

Method setDifference

src/jrd/nbak.cpp:933–954  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

931}
932
933void BackupManager::setDifference(thread_db* tdbb, const char* filename)
934{
935 SET_TDBB(tdbb);
936
937 if (filename)
938 {
939 WIN window(HEADER_PAGE_NUMBER);
940 Ods::header_page* header =
941 (Ods::header_page*) CCH_FETCH(tdbb, &window, LCK_write, pag_header);
942 CCH_MARK_MUST_WRITE(tdbb, &window);
943 PAG_replace_entry_first(tdbb, header, Ods::HDR_difference_file,
944 static_cast<USHORT>(strlen(filename)), reinterpret_cast<const UCHAR*>(filename));
945 CCH_RELEASE(tdbb, &window);
946 diff_name = filename;
947 explicit_diff_name = true;
948 }
949 else
950 {
951 PAG_delete_clump_entry(tdbb, Ods::HDR_difference_file);
952 generateFilename();
953 }
954}
955
956bool BackupManager::actualizeState(thread_db* tdbb)
957{

Callers

nothing calls this directly

Calls 6

SET_TDBBFunction · 0.85
CCH_FETCHFunction · 0.85
CCH_MARK_MUST_WRITEFunction · 0.85
PAG_replace_entry_firstFunction · 0.85
CCH_RELEASEFunction · 0.85
PAG_delete_clump_entryFunction · 0.85

Tested by

no test coverage detected