Kaynağa Gözat

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

main
proller 8 yıl önce
ebeveyn
işleme
7d060117fa
2 değiştirilmiş dosya ile 6 ekleme ve 3 silme
  1. +5
    -1
      db/dbformat.h
  2. +1
    -2
      db/version_edit.cc

+ 5
- 1
db/dbformat.h Dosyayı Görüntüle

@ -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 Dosyayı Görüntüle

@ -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;
}

Yükleniyor…
İptal
Kaydet