Преглед на файлове

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

naive_version
proller преди 8 години
родител
ревизия
7d060117fa
променени са 2 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. +5
    -1
      db/dbformat.h
  2. +1
    -2
      db/version_edit.cc

+ 5
- 1
db/dbformat.h Целия файл

@ -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 Целия файл

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

Зареждане…
Отказ
Запис