commit c1256156ed8bc09cedab84d3755987863632b0c9
parent 2b7c8fcaa59a1fbeb2e038246f29377fcb2f2664
Author: lash <dev@holbrook.no>
Date: Sat, 18 Jan 2025 15:57:35 +0000
DRY fs dump code
Diffstat:
2 files changed, 12 insertions(+), 37 deletions(-)
diff --git a/db/fs/dump.go b/db/fs/dump.go
@@ -8,6 +8,15 @@ import (
"git.defalsify.org/vise.git/db"
)
+func(fdb *fsDb) nextElement() []byte {
+ v := fdb.elements[0]
+ fdb.elements = fdb.elements[1:]
+ s := v.Name()
+ k := []byte(s)
+ k[0] -= 0x30
+ return k
+}
+
func(fdb *fsDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) {
var err error
key = append([]byte{fdb.Prefix()}, key...)
@@ -19,11 +28,7 @@ func(fdb *fsDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) {
if len(fdb.elements) > 0 {
if len(key) == 0 {
- v := fdb.elements[0]
- fdb.elements = fdb.elements[1:]
- s := v.Name()
- k := []byte(s)
- k[0] -= 0x30
+ k := fdb.nextElement()
kk, err := fdb.DecodeKey(ctx, k)
if err != nil {
return nil, err
@@ -36,14 +41,10 @@ func(fdb *fsDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) {
}
}
for len(fdb.elements) > 0 {
- v := fdb.elements[0]
- fdb.elements = fdb.elements[1:]
- s := v.Name()
- k := []byte(s)
+ k := fdb.nextElement()
if len(key) > len(k) {
continue
}
- k[0] -= 0x30
kk, err := fdb.DecodeKey(ctx, k)
if err != nil {
continue
@@ -64,11 +65,7 @@ func(fdb *fsDb) dumpFunc(ctx context.Context) ([]byte, []byte) {
if len(fdb.elements) == 0 {
return nil, nil
}
- v := fdb.elements[0]
- fdb.elements = fdb.elements[1:]
- s := v.Name()
- k := []byte(s)
- k[0] -= 0x30
+ k := fdb.nextElement()
kk, err := fdb.DecodeKey(ctx, k)
if err != nil {
return nil, nil
diff --git a/db/gdbm/dump.go b/db/gdbm/dump.go
@@ -10,7 +10,6 @@ import (
"git.defalsify.org/vise.git/db"
)
-// TODO: userdata is hardcoded here, should not be
func(gdb *gdbmDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) {
gdb.SetLanguage(nil)
lk, err := gdb.ToKey(ctx, key)
@@ -32,7 +31,6 @@ func(gdb *gdbmDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) {
if !bytes.HasPrefix(k, key) {
continue
}
- logg.TraceCtxf(ctx, "dump trace", "k", k, "key", key)
kk, err := gdb.DecodeKey(ctx, k)
if err != nil {
return nil, err
@@ -69,7 +67,6 @@ func(gdb *gdbmDb) dumpFunc(ctx context.Context) ([]byte, []byte) {
gdb.it = nil
return nil, nil
}
- logg.TraceCtxf(ctx, "gdbm dump func", "key", k)
kk, err := gdb.DecodeKey(ctx, k)
if err != nil {
return nil, nil
@@ -80,22 +77,3 @@ func(gdb *gdbmDb) dumpFunc(ctx context.Context) ([]byte, []byte) {
}
return kk, v
}
-
-//func(gdb *gdbmDb) After(ctx context.Context, keyPart []byte) ([]byte, []byte) {
-// if keyPart == nil {
-// gdb.it = gdb.conn.Iterator()
-// return nil, nil
-// }
-// k, err := gdb.it()
-// if err != nil {
-// if !errors.Is(err, gdbm.ErrItemNotFound) {
-// panic(err)
-// }
-// gdb.it = gdb.conn.Iterator()
-// }
-// v, err := gdb.Get(ctx, k)
-// if err != nil {
-// panic(err)
-// }
-// return k, v
-//}