MCPcopy Create free account
hub / github.com/ElementsProject/elements / CompactRange

Method CompactRange

src/leveldb/db/db_impl.cc:578–593  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

576}
577
578void DBImpl::CompactRange(const Slice* begin, const Slice* end) {
579 int max_level_with_files = 1;
580 {
581 MutexLock l(&mutex_);
582 Version* base = versions_->current();
583 for (int level = 1; level < config::kNumLevels; level++) {
584 if (base->OverlapInLevel(level, begin, end)) {
585 max_level_with_files = level;
586 }
587 }
588 }
589 TEST_CompactMemTable(); // TODO(sanjay): Skip if memtable does not overlap
590 for (int level = 0; level < max_level_with_files; level++) {
591 TEST_CompactRange(level, begin, end);
592 }
593}
594
595void DBImpl::TEST_CompactRange(int level, const Slice* begin,
596 const Slice* end) {

Callers 8

UpgradeMethod · 0.45
CDBWrapperMethod · 0.45
TESTFunction · 0.45
CompactMethod · 0.45
TESTFunction · 0.45
BackgroundCompactionMethod · 0.45
leveldb_compact_rangeFunction · 0.45

Calls 2

currentMethod · 0.80
OverlapInLevelMethod · 0.80

Tested by 3

TESTFunction · 0.36
TESTFunction · 0.36