From efa2fb33b0b89a46f07c2c9a5fe430f60840d066 Mon Sep 17 00:00:00 2001 From: Lei Jin Date: Tue, 28 Oct 2014 11:42:22 -0700 Subject: [PATCH] make LevelFileNumIterator and LevelFileIteratorState anonymous Summary: No need to expose them in .h Test Plan: make release Reviewers: igor, yhchiang, rven, sdong Reviewed By: sdong Subscribers: dhruba, leveldb Differential Revision: https://reviews.facebook.net/D27645 --- db/version_set.cc | 14 +++++++++----- db/version_set.h | 3 --- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/db/version_set.cc b/db/version_set.cc index eab417a28f..b47578a4ae 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -417,12 +417,14 @@ bool SomeFileOverlapsRange( return !BeforeFile(ucmp, largest_user_key, &file_level.files[index]); } +namespace { + // An internal iterator. For a given version/level pair, yields // information about the files in the level. For a given entry, key() // is the largest key that occurs in the file, and value() is an // 16-byte value containing the file number and file size, both // encoded using EncodeFixed64. -class Version::LevelFileNumIterator : public Iterator { +class LevelFileNumIterator : public Iterator { public: LevelFileNumIterator(const InternalKeyComparator& icmp, const LevelFilesBrief* flevel) @@ -473,7 +475,7 @@ class Version::LevelFileNumIterator : public Iterator { mutable FileDescriptor current_value_; }; -class Version::LevelFileIteratorState : public TwoLevelIteratorState { +class LevelFileIteratorState : public TwoLevelIteratorState { public: LevelFileIteratorState(TableCache* table_cache, const ReadOptions& read_options, const EnvOptions& env_options, @@ -509,6 +511,8 @@ class Version::LevelFileIteratorState : public TwoLevelIteratorState { bool for_compaction_; }; +} // anonymous namespace + Status Version::GetTableProperties(std::shared_ptr* tp, const FileMetaData* file_meta, const std::string* fname) { @@ -2811,12 +2815,12 @@ Iterator* VersionSet::MakeInputIterator(Compaction* c) { } } else { // Create concatenating iterator for the files from this level - list[num++] = NewTwoLevelIterator(new Version::LevelFileIteratorState( + list[num++] = NewTwoLevelIterator(new LevelFileIteratorState( cfd->table_cache(), read_options, env_options_, cfd->internal_comparator(), true /* for_compaction */, false /* prefix enabled */), - new Version::LevelFileNumIterator(cfd->internal_comparator(), - c->input_levels(which))); + new LevelFileNumIterator(cfd->internal_comparator(), + c->input_levels(which))); } } } diff --git a/db/version_set.h b/db/version_set.h index ee3bbcbf2d..5a11a2f1c8 100644 --- a/db/version_set.h +++ b/db/version_set.h @@ -308,9 +308,6 @@ class Version { friend class DBImpl; friend class InternalStats; - class LevelFileNumIterator; - class LevelFileIteratorState; - bool PrefixMayMatch(const ReadOptions& read_options, Iterator* level_iter, const Slice& internal_prefix) const;