5 #ifndef STORAGE_LEVELDB_DB_DB_IMPL_H_ 6 #define STORAGE_LEVELDB_DB_DB_IMPL_H_ 108 static
void BGWork(
void* db);
205 const InternalKeyComparator* icmp,
206 const InternalFilterPolicy* ipolicy,
211 #endif // STORAGE_LEVELDB_DB_DB_IMPL_H_ CompactionStats stats_[config::kNumLevels]
Definition: db_impl.h:191
Definition: version_set.h:165
#define EXCLUSIVE_LOCKS_REQUIRED(...)
Definition: thread_annotations.h:13
void TEST_CompactRange(int level, const Slice *begin, const Slice *end)
Definition: db_impl.cc:584
VersionSet * versions_
Definition: db_impl.h:171
Env *const env_
Definition: db_impl.h:122
CompactionStats()
Definition: db_impl.h:183
Status RecoverLogFile(uint64_t log_number, bool last_log, bool *save_manifest, VersionEdit *edit, SequenceNumber *max_sequence) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:365
Definition: autocompact_test.cc:11
virtual const Snapshot * GetSnapshot()
Definition: db_impl.cc:1175
Status Recover(VersionEdit *edit, bool *save_manifest) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:274
virtual Iterator * NewIterator(const ReadOptions &)
Definition: db_impl.cc:1156
void RecordBackgroundError(const Status &s)
Definition: db_impl.cc:637
void BackgroundCall()
Definition: db_impl.cc:667
void CompactMemTable() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:534
virtual Status Put(const WriteOptions &, const Slice &key, const Slice &value)
Definition: db_impl.cc:1186
static const int kNumLevels
Definition: dbformat.h:22
end
Definition: optimize-pngs.py:40
Status FinishCompactionOutputFile(CompactionState *compact, Iterator *input)
Definition: db_impl.cc:813
Definition: iterator.h:23
port::CondVar bg_cv_
Definition: db_impl.h:139
int level
Definition: db_impl.h:163
bool owns_cache_
Definition: db_impl.h:127
InternalKey tmp_storage
Definition: db_impl.h:167
void Add(const CompactionStats &c)
Definition: db_impl.h:185
TableCache * table_cache_
Definition: db_impl.h:131
const InternalKeyComparator internal_comparator_
Definition: db_impl.h:123
int64_t micros
Definition: db_impl.h:179
Definition: dbformat.h:113
Definition: table_cache.h:21
Definition: db_impl.cc:51
WritableFile * logfile_
Definition: db_impl.h:143
const InternalKey * end
Definition: db_impl.h:166
Definition: db_impl.h:178
const Comparator * user_comparator() const
Definition: dbformat.h:125
MemTable * imm_
Definition: db_impl.h:141
void MaybeIgnoreError(Status *s) const
Definition: db_impl.cc:209
void RecordReadSample(Slice key)
Definition: db_impl.cc:1168
FileLock * db_lock_
Definition: db_impl.h:134
void DeleteObsoleteFiles()
Definition: db_impl.cc:218
port::Mutex mutex_
Definition: db_impl.h:137
Definition: db_impl.cc:41
virtual bool GetProperty(const Slice &property, std::string *value)
Definition: db_impl.cc:1381
int64_t bytes_read
Definition: db_impl.h:180
uint64_t SequenceNumber
Definition: dbformat.h:63
Definition: snapshot.h:31
Definition: version_set.h:59
Definition: options.h:187
int64_t TEST_MaxNextLevelOverlappingBytes()
Definition: db_impl.cc:1104
virtual void GetApproximateSizes(const Range *range, int n, uint64_t *sizes)
Definition: db_impl.cc:1448
Definition: write_batch.h:31
virtual void ReleaseSnapshot(const Snapshot *snapshot)
Definition: db_impl.cc:1180
Status NewDB()
Definition: db_impl.cc:177
int64_t bytes_written
Definition: db_impl.h:181
WriteBatch * tmp_batch_
Definition: db_impl.h:150
MemTable * mem_
Definition: db_impl.h:140
Iterator * TEST_NewInternalIterator()
Definition: db_impl.cc:1098
unsigned int uint32_t
Definition: stdint.h:21
WriteBatch * BuildBatchGroup(Writer **last_writer)
Definition: db_impl.cc:1269
unsigned long long uint64_t
Definition: stdint.h:22
virtual void CompactRange(const Slice *begin, const Slice *end)
Definition: db_impl.cc:567
static char dbname[200]
Definition: c_test.c:15
ManualCompaction * manual_compaction_
Definition: db_impl.h:169
port::AtomicPointer has_imm_
Definition: db_impl.h:142
Status TEST_CompactMemTable()
Definition: db_impl.cc:621
virtual Status Delete(const WriteOptions &, const Slice &key)
Definition: db_impl.cc:1190
static void BGWork(void *db)
Definition: db_impl.cc:663
const std::string dbname_
Definition: db_impl.h:128
uint32_t seed_
Definition: db_impl.h:146
log::Writer * log_
Definition: db_impl.h:145
Status DoCompactionWork(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:887
void operator=(const DBImpl &)
Definition: options.h:161
Status MakeRoomForWrite(bool force) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:1318
const InternalFilterPolicy internal_filter_policy_
Definition: db_impl.h:124
SnapshotList snapshots_
Definition: db_impl.h:152
Status OpenCompactionOutputFile(CompactionState *compact)
Definition: db_impl.cc:788
uint64_t logfile_number_
Definition: db_impl.h:144
const Comparator * user_comparator() const
Definition: db_impl.h:197
const Options options_
Definition: db_impl.h:125
DBImpl(const Options &options, const std::string &dbname)
Definition: db_impl.cc:117
bool owns_info_log_
Definition: db_impl.h:126
Definition: skiplist_test.cc:17
virtual Status Write(const WriteOptions &options, WriteBatch *updates)
Definition: db_impl.cc:1194
Definition: version_edit.h:28
Options SanitizeOptions(const std::string &dbname, const InternalKeyComparator *icmp, const InternalFilterPolicy *ipolicy, const Options &src)
Definition: db_impl.cc:90
Definition: memtable.h:20
void CleanupCompaction(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:771
signed long long int64_t
Definition: stdint.h:18
Status InstallCompactionResults(CompactionState *compact) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:866
bool done
Definition: db_impl.h:164
virtual ~DBImpl()
Definition: db_impl.cc:148
Definition: dbformat.h:144
Definition: db_impl.h:162
std::set< uint64_t > pending_outputs_
Definition: db_impl.h:156
Definition: dbformat.h:131
int port
Definition: zmq_sub.py:37
bool bg_compaction_scheduled_
Definition: db_impl.h:159
void MaybeScheduleCompaction() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:645
Status bg_error_
Definition: db_impl.h:174
const InternalKey * begin
Definition: db_impl.h:165
port::AtomicPointer shutting_down_
Definition: db_impl.h:138
Status WriteLevel0Table(MemTable *mem, VersionEdit *edit, Version *base) EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:488
std::deque< Writer * > writers_
Definition: db_impl.h:149
Iterator * NewInternalIterator(const ReadOptions &, SequenceNumber *latest_snapshot, uint32_t *seed)
Definition: db_impl.cc:1067
void BackgroundCompaction() EXCLUSIVE_LOCKS_REQUIRED(mutex_)
Definition: db_impl.cc:686
virtual Status Get(const ReadOptions &options, const Slice &key, std::string *value)
Definition: db_impl.cc:1109