do not idx file format

revert c9ab8d05fa
This commit is contained in:
Chris Lu
2020-09-12 12:42:36 -07:00
parent ba984a4e29
commit f2723c1bc8
11 changed files with 26 additions and 47 deletions

View File

@@ -74,7 +74,7 @@ func generateLevelDbFile(dbFileName string, indexFile *os.File) error {
}
defer db.Close()
return idx.WalkIndexFile(indexFile, func(key NeedleId, offset Offset, size Size) error {
if !offset.IsZero() {
if !offset.IsZero() && size.IsValid() {
levelDbWrite(db, key, offset, size)
} else {
levelDbDelete(db, key)
@@ -123,7 +123,7 @@ func levelDbDelete(db *leveldb.DB, key NeedleId) error {
return db.Delete(bytes, nil)
}
func (m *LevelDbNeedleMap) Delete(key NeedleId) error {
func (m *LevelDbNeedleMap) Delete(key NeedleId, offset Offset) error {
oldNeedle, found := m.Get(key)
if !found || oldNeedle.Size.IsDeleted() {
return nil
@@ -131,7 +131,7 @@ func (m *LevelDbNeedleMap) Delete(key NeedleId) error {
m.logDelete(oldNeedle.Size)
// write to index file first
if err := m.appendToIndexFile(key, oldNeedle.Offset, -oldNeedle.Size); err != nil {
if err := m.appendToIndexFile(key, offset, TombstoneFileSize); err != nil {
return err
}