Lines Matching refs:level

40 static double MaxBytesForLevel(const Options* options, int level) {  in MaxBytesForLevel()  argument
46 while (level > 1) { in MaxBytesForLevel()
48 level--; in MaxBytesForLevel()
53 static uint64_t MaxFileSizeForLevel(const Options* options, int level) { in MaxFileSizeForLevel() argument
74 for (int level = 0; level < config::kNumLevels; level++) { in ~Version() local
75 for (size_t i = 0; i < files_[level].size(); i++) { in ~Version()
76 FileMetaData* f = files_[level][i]; in ~Version()
228 int level) const { in NewConcatenatingIterator()
230 new LevelFileNumIterator(vset_->icmp_, &files_[level]), in NewConcatenatingIterator()
246 for (int level = 1; level < config::kNumLevels; level++) { in AddIterators() local
247 if (!files_[level].empty()) { in AddIterators()
248 iters->push_back(NewConcatenatingIterator(options, level)); in AddIterators()
313 for (int level = 1; level < config::kNumLevels; level++) { in ForEachOverlapping() local
314 size_t num_files = files_[level].size(); in ForEachOverlapping()
318 uint32_t index = FindFile(vset_->icmp_, files_[level], internal_key); in ForEachOverlapping()
320 FileMetaData* f = files_[level][index]; in ForEachOverlapping()
324 if (!(*func)(arg, level, f)) { in ForEachOverlapping()
351 for (int level = 0; level < config::kNumLevels; level++) { in Get() local
352 size_t num_files = files_[level].size(); in Get()
356 FileMetaData* const* files = &files_[level][0]; in Get()
357 if (level == 0) { in Get()
375 uint32_t index = FindFile(vset_->icmp_, files_[level], ikey); in Get()
401 last_file_read_level = level; in Get()
454 static bool Match(void* arg, int level, FileMetaData* f) { in RecordReadSample()
460 state->stats.seek_file_level = level; in RecordReadSample()
495 bool Version::OverlapInLevel(int level, in OverlapInLevel() argument
498 return SomeFileOverlapsRange(vset_->icmp_, (level > 0), files_[level], in OverlapInLevel()
505 int level = 0; in PickLevelForMemTableOutput() local
512 while (level < config::kMaxMemCompactLevel) { in PickLevelForMemTableOutput()
513 if (OverlapInLevel(level + 1, &smallest_user_key, &largest_user_key)) { in PickLevelForMemTableOutput()
516 if (level + 2 < config::kNumLevels) { in PickLevelForMemTableOutput()
518 GetOverlappingInputs(level + 2, &start, &limit, &overlaps); in PickLevelForMemTableOutput()
524 level++; in PickLevelForMemTableOutput()
527 return level; in PickLevelForMemTableOutput()
532 int level, in GetOverlappingInputs() argument
536 assert(level >= 0); in GetOverlappingInputs()
537 assert(level < config::kNumLevels); in GetOverlappingInputs()
547 for (size_t i = 0; i < files_[level].size(); ) { in GetOverlappingInputs()
548 FileMetaData* f = files_[level][i++]; in GetOverlappingInputs()
557 if (level == 0) { in GetOverlappingInputs()
576 for (int level = 0; level < config::kNumLevels; level++) { in DebugString() local
582 AppendNumberTo(&r, level); in DebugString()
584 const std::vector<FileMetaData*>& files = files_[level]; in DebugString()
638 for (int level = 0; level < config::kNumLevels; level++) { in Builder() local
639 levels_[level].added_files = new FileSet(cmp); in Builder()
644 for (int level = 0; level < config::kNumLevels; level++) { in ~Builder() local
645 const FileSet* added = levels_[level].added_files; in ~Builder()
668 const int level = edit->compact_pointers_[i].first; in Apply() local
669 vset_->compact_pointer_[level] = in Apply()
678 const int level = iter->first; in Apply() local
680 levels_[level].deleted_files.insert(number); in Apply()
685 const int level = edit->new_files_[i].first; in Apply() local
705 levels_[level].deleted_files.erase(f->number); in Apply()
706 levels_[level].added_files->insert(f); in Apply()
714 for (int level = 0; level < config::kNumLevels; level++) { in SaveTo() local
717 const std::vector<FileMetaData*>& base_files = base_->files_[level]; in SaveTo()
720 const FileSet* added = levels_[level].added_files; in SaveTo()
721 v->files_[level].reserve(base_files.size() + added->size()); in SaveTo()
730 MaybeAddFile(v, level, *base_iter); in SaveTo()
733 MaybeAddFile(v, level, *added_iter); in SaveTo()
738 MaybeAddFile(v, level, *base_iter); in SaveTo()
743 if (level > 0) { in SaveTo()
744 for (uint32_t i = 1; i < v->files_[level].size(); i++) { in SaveTo()
745 const InternalKey& prev_end = v->files_[level][i-1]->largest; in SaveTo()
746 const InternalKey& this_begin = v->files_[level][i]->smallest; in SaveTo()
759 void MaybeAddFile(Version* v, int level, FileMetaData* f) { in MaybeAddFile() argument
760 if (levels_[level].deleted_files.count(f->number) > 0) { in MaybeAddFile()
763 std::vector<FileMetaData*>* files = &v->files_[level]; in MaybeAddFile()
764 if (level > 0 && !files->empty()) { in MaybeAddFile()
1069 for (int level = 0; level < config::kNumLevels-1; level++) { in Finalize() local
1071 if (level == 0) { in Finalize()
1083 score = v->files_[level].size() / in Finalize()
1087 const uint64_t level_bytes = TotalFileSize(v->files_[level]); in Finalize()
1089 static_cast<double>(level_bytes) / MaxBytesForLevel(options_, level); in Finalize()
1093 best_level = level; in Finalize()
1110 for (int level = 0; level < config::kNumLevels; level++) { in WriteSnapshot() local
1111 if (!compact_pointer_[level].empty()) { in WriteSnapshot()
1113 key.DecodeFrom(compact_pointer_[level]); in WriteSnapshot()
1114 edit.SetCompactPointer(level, key); in WriteSnapshot()
1119 for (int level = 0; level < config::kNumLevels; level++) { in WriteSnapshot() local
1120 const std::vector<FileMetaData*>& files = current_->files_[level]; in WriteSnapshot()
1123 edit.AddFile(level, f->number, f->file_size, f->smallest, f->largest); in WriteSnapshot()
1132 int VersionSet::NumLevelFiles(int level) const { in NumLevelFiles()
1133 assert(level >= 0); in NumLevelFiles()
1134 assert(level < config::kNumLevels); in NumLevelFiles()
1135 return current_->files_[level].size(); in NumLevelFiles()
1155 for (int level = 0; level < config::kNumLevels; level++) { in ApproximateOffsetOf() local
1156 const std::vector<FileMetaData*>& files = v->files_[level]; in ApproximateOffsetOf()
1163 if (level > 0) { in ApproximateOffsetOf()
1189 for (int level = 0; level < config::kNumLevels; level++) { in AddLiveFiles() local
1190 const std::vector<FileMetaData*>& files = v->files_[level]; in AddLiveFiles()
1198 int64_t VersionSet::NumLevelBytes(int level) const { in NumLevelBytes()
1199 assert(level >= 0); in NumLevelBytes()
1200 assert(level < config::kNumLevels); in NumLevelBytes()
1201 return TotalFileSize(current_->files_[level]); in NumLevelBytes()
1207 for (int level = 1; level < config::kNumLevels - 1; level++) { in MaxNextLevelOverlappingBytes() local
1208 for (size_t i = 0; i < current_->files_[level].size(); i++) { in MaxNextLevelOverlappingBytes()
1209 const FileMetaData* f = current_->files_[level][i]; in MaxNextLevelOverlappingBytes()
1210 current_->GetOverlappingInputs(level+1, &f->smallest, &f->largest, in MaxNextLevelOverlappingBytes()
1266 const int space = (c->level() == 0 ? c->inputs_[0].size() + 1 : 2); in MakeInputIterator()
1271 if (c->level() + which == 0) { in MakeInputIterator()
1293 int level; in PickCompaction() local
1300 level = current_->compaction_level_; in PickCompaction()
1301 assert(level >= 0); in PickCompaction()
1302 assert(level+1 < config::kNumLevels); in PickCompaction()
1303 c = new Compaction(options_, level); in PickCompaction()
1306 for (size_t i = 0; i < current_->files_[level].size(); i++) { in PickCompaction()
1307 FileMetaData* f = current_->files_[level][i]; in PickCompaction()
1308 if (compact_pointer_[level].empty() || in PickCompaction()
1309 icmp_.Compare(f->largest.Encode(), compact_pointer_[level]) > 0) { in PickCompaction()
1316 c->inputs_[0].push_back(current_->files_[level][0]); in PickCompaction()
1319 level = current_->file_to_compact_level_; in PickCompaction()
1320 c = new Compaction(options_, level); in PickCompaction()
1330 if (level == 0) { in PickCompaction()
1346 const int level = c->level(); in SetupOtherInputs() local
1350 current_->GetOverlappingInputs(level+1, &smallest, &largest, &c->inputs_[1]); in SetupOtherInputs()
1360 current_->GetOverlappingInputs(level, &all_start, &all_limit, &expanded0); in SetupOtherInputs()
1370 current_->GetOverlappingInputs(level+1, &new_start, &new_limit, in SetupOtherInputs()
1375 level, in SetupOtherInputs()
1393 if (level + 2 < config::kNumLevels) { in SetupOtherInputs()
1394 current_->GetOverlappingInputs(level + 2, &all_start, &all_limit, in SetupOtherInputs()
1400 level, in SetupOtherInputs()
1409 compact_pointer_[level] = largest.Encode().ToString(); in SetupOtherInputs()
1410 c->edit_.SetCompactPointer(level, largest); in SetupOtherInputs()
1414 int level, in CompactRange() argument
1418 current_->GetOverlappingInputs(level, begin, end, &inputs); in CompactRange()
1427 if (level > 0) { in CompactRange()
1428 const uint64_t limit = MaxFileSizeForLevel(options_, level); in CompactRange()
1440 Compaction* c = new Compaction(options_, level); in CompactRange()
1448 Compaction::Compaction(const Options* options, int level) in Compaction() argument
1449 : level_(level), in Compaction()
1450 max_output_file_size_(MaxFileSizeForLevel(options, level)), in Compaction()