Bläddra i källkod

broken db: fix assertion in leveldb::InternalKey::Encode, mark base as corrupt

master
proller 8 år sedan
förälder
incheckning
7d060117fa
2 ändrade filer med 6 tillägg och 3 borttagningar
  1. +5
    -1
      db/dbformat.h
  2. +1
    -2
      db/version_edit.cc

+ 5
- 1
db/dbformat.h Visa fil

@ -150,7 +150,11 @@ class InternalKey {
AppendInternalKey(&rep_, ParsedInternalKey(user_key, s, t));
}
void DecodeFrom(const Slice& s) { rep_.assign(s.data(), s.size()); }
bool DecodeFrom(const Slice& s) {
rep_.assign(s.data(), s.size());
return !rep_.empty();
}
Slice Encode() const {
assert(!rep_.empty());
return rep_;

+ 1
- 2
db/version_edit.cc Visa fil

@ -88,8 +88,7 @@ void VersionEdit::EncodeTo(std::string* dst) const {
static bool GetInternalKey(Slice* input, InternalKey* dst) {
Slice str;
if (GetLengthPrefixedSlice(input, &str)) {
dst->DecodeFrom(str);
return true;
return dst->DecodeFrom(str);
} else {
return false;
}

Laddar…
Avbryt
Spara