5 #ifndef STORAGE_LEVELDB_DB_DB_IMPL_H_
6 #define STORAGE_LEVELDB_DB_DB_IMPL_H_
106 static
void BGWork(
void* db);
204 const InternalKeyComparator* icmp,
205 const InternalFilterPolicy* ipolicy,
210 #endif // STORAGE_LEVELDB_DB_DB_IMPL_H_
void MaybeIgnoreError(Status *s) const
#define EXCLUSIVE_LOCKS_REQUIRED(...)
virtual Status Write(const WriteOptions &options, WriteBatch *updates)
virtual void CompactRange(const Slice *begin, const Slice *end)
int64_t TEST_MaxNextLevelOverlappingBytes()
Status TEST_CompactMemTable()
void TEST_CompactRange(int level, const Slice *begin, const Slice *end)
Status CompactMemTable() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
int consecutive_compaction_errors_
port::AtomicPointer has_imm_
Status BackgroundCompaction() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Status RecoverLogFile(uint64_t log_number, VersionEdit *edit, SequenceNumber *max_sequence) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
virtual bool GetProperty(const Slice &property, std::string *value)
Status WriteLevel0Table(MemTable *mem, VersionEdit *edit, Version *base) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
WriteBatch * BuildBatchGroup(Writer **last_writer)
Iterator * TEST_NewInternalIterator()
ManualCompaction * manual_compaction_
CompactionStats stats_[config::kNumLevels]
Status Recover(VersionEdit *edit) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Status OpenCompactionOutputFile(CompactionState *compact)
virtual void ReleaseSnapshot(const Snapshot *snapshot)
unsigned long long uint64_t
std::deque< Writer * > writers_
const Comparator * user_comparator() const
virtual Status Delete(const WriteOptions &, const Slice &key)
std::set< uint64_t > pending_outputs_
const InternalKeyComparator internal_comparator_
port::AtomicPointer shutting_down_
virtual Status Put(const WriteOptions &, const Slice &key, const Slice &value)
virtual void GetApproximateSizes(const Range *range, int n, uint64_t *sizes)
virtual Status Get(const ReadOptions &options, const Slice &key, std::string *value)
virtual Iterator * NewIterator(const ReadOptions &)
void operator=(const DBImpl &)
void Add(const CompactionStats &c)
const Comparator * user_comparator() const
DBImpl(const Options &options, const std::string &dbname)
Status MakeRoomForWrite(bool force) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Options SanitizeOptions(const std::string &dbname, const InternalKeyComparator *icmp, const InternalFilterPolicy *ipolicy, const Options &src)
void DeleteObsoleteFiles()
void MaybeScheduleCompaction() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
const InternalFilterPolicy internal_filter_policy_
Status DoCompactionWork(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Status InstallCompactionResults(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Status FinishCompactionOutputFile(CompactionState *compact, Iterator *input)
const std::string dbname_
const InternalKey * begin
static void BGWork(void *db)
Iterator * NewInternalIterator(const ReadOptions &, SequenceNumber *latest_snapshot, uint32_t *seed)
SequenceNumber max_sequence
TableCache * table_cache_
virtual const Snapshot * GetSnapshot()
void RecordReadSample(Slice key)
bool bg_compaction_scheduled_
void CleanupCompaction(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)