refactor: Clear database tables instead of truncating
This commit is contained in:
@@ -240,3 +240,11 @@ func (p *MetadataPersister) GetLastIndexedRecordAndBlock(ctx context.Context, re
|
|||||||
|
|
||||||
return header.Lastknownrecord, header.Lastknownblock, nil
|
return header.Lastknownrecord, header.Lastknownblock, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *MetadataPersister) PurgeAllHeaders(ctx context.Context) error {
|
||||||
|
if _, err := models.Headers().DeleteAll(ctx, p.db); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
+3
-18
@@ -8,7 +8,6 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"math"
|
"math"
|
||||||
"os"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/pojntfx/stfs/internal/converters"
|
"github.com/pojntfx/stfs/internal/converters"
|
||||||
@@ -46,23 +45,9 @@ func Index(
|
|||||||
onHeader func(hdr *models.Header),
|
onHeader func(hdr *models.Header),
|
||||||
) error {
|
) error {
|
||||||
if overwrite {
|
if overwrite {
|
||||||
f, err := os.OpenFile(metadata.Metadata, os.O_WRONLY|os.O_CREATE, 0600)
|
if err := metadata.Metadata.PurgeAllHeaders(context.Background()); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := f.Truncate(0); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := f.Close(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
metadataPersister := persisters.NewMetadataPersister(metadata.Metadata)
|
|
||||||
if err := metadataPersister.Open(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if reader.DriveIsRegular {
|
if reader.DriveIsRegular {
|
||||||
@@ -134,7 +119,7 @@ func Index(
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := indexHeader(record, block, hdr, metadataPersister, pipes.Compression, pipes.Encryption, onHeader); err != nil {
|
if err := indexHeader(record, block, hdr, metadata.Metadata, pipes.Compression, pipes.Encryption, onHeader); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -220,7 +205,7 @@ func Index(
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := indexHeader(record, block, hdr, metadataPersister, pipes.Compression, pipes.Encryption, onHeader); err != nil {
|
if err := indexHeader(record, block, hdr, metadata.Metadata, pipes.Compression, pipes.Encryption, onHeader); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user