5 #ifndef STORAGE_LEVELDB_DB_FORMAT_H_
6 #define STORAGE_LEVELDB_DB_FORMAT_H_
22 static const int kNumLevels = 7;
25 static const int kL0_CompactionTrigger = 4;
28 static const int kL0_SlowdownWritesTrigger = 8;
31 static const int kL0_StopWritesTrigger = 12;
39 static const int kMaxMemCompactLevel = 2;
42 static const int kReadBytesPeriod = 1048576;
67 static const SequenceNumber kMaxSequenceNumber =
77 : user_key(u), sequence(seq), type(t) { }
88 const ParsedInternalKey& key);
95 ParsedInternalKey* result);
99 assert(internal_key.
size() >= 8);
104 assert(internal_key.
size() >= 8);
105 const size_t n = internal_key.
size();
107 unsigned char c = num & 0xff;
118 virtual const char*
Name()
const;
122 const Slice& limit)
const;
136 virtual const char*
Name()
const;
155 assert(!rep_.empty());
178 const size_t n = internal_key.
size();
179 if (n < 8)
return false;
181 unsigned char c = num & 0xff;
185 return (c <= static_cast<unsigned char>(
kTypeValue));
230 #endif // STORAGE_LEVELDB_DB_FORMAT_H_
const Comparator * user_comparator_
void DecodeFrom(const Slice &s)
InternalKey(const Slice &user_key, SequenceNumber s, ValueType t)
virtual void CreateFilter(const Slice *keys, int n, std::string *dst) const
uint64_t DecodeFixed64(const char *ptr)
void operator=(const LookupKey &)
const char * data() const
virtual void FindShortSuccessor(std::string *key) const
Slice internal_key() const
InternalKeyComparator(const Comparator *c)
const FilterPolicy *const user_policy_
ValueType ExtractValueType(const Slice &internal_key)
bool ParseInternalKey(const Slice &internal_key, ParsedInternalKey *result)
void AppendInternalKey(std::string *result, const ParsedInternalKey &key)
size_t InternalKeyEncodingLength(const ParsedInternalKey &key)
virtual int Compare(const Slice &a, const Slice &b) const
unsigned long long uint64_t
LookupKey(const Slice &user_key, SequenceNumber sequence)
const Comparator * user_comparator() const
std::string DebugString() const
ParsedInternalKey(const Slice &u, const SequenceNumber &seq, ValueType t)
Slice memtable_key() const
virtual void FindShortestSeparator(std::string *start, const Slice &limit) const
Slice ExtractUserKey(const Slice &internal_key)
InternalFilterPolicy(const FilterPolicy *p)
virtual bool KeyMayMatch(const Slice &key, const Slice &filter) const
std::string DebugString() const
virtual const char * Name() const
virtual const char * Name() const
void SetFrom(const ParsedInternalKey &p)