go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

commit aa30de955358bc38e53c593f34404f3a679d5ac1
parent 877df588ae7d2804a915e69411ca92aab650c21d
Author: lash <dev@holbrook.no>
Date:   Mon, 30 Dec 2024 19:38:02 +0000

Add prefix for dumper, format base dump key for pg

Diffstat:
Mdb/gdbm/dump.go | 1+
Mdb/postgres/dump.go | 10+++++++---
2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/db/gdbm/dump.go b/db/gdbm/dump.go @@ -11,6 +11,7 @@ import ( ) func(gdb *gdbmDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) { + key = append([]byte{db.DATATYPE_USERDATA}, key...) gdb.it = gdb.conn.Iterator() for true { k, err := gdb.it() diff --git a/db/postgres/dump.go b/db/postgres/dump.go @@ -13,9 +13,13 @@ func(pdb *pgDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) { return nil, err } + k := append([]byte{db.DATATYPE_USERDATA}, key...) + query := fmt.Sprintf("SELECT key, value FROM %s.kv_vise WHERE key >= $1 AND key < $2", pdb.schema) - rs, err := tx.Query(ctx, query, key, key[0]) + logg.TraceCtxf(ctx, "getkey", "q", query, "key", k) + rs, err := tx.Query(ctx, query, k, []byte{k[0] + 1}) if err != nil { + logg.Debugf("query fail", "err", err) tx.Rollback(ctx) return nil, err } @@ -26,11 +30,11 @@ func(pdb *pgDb) Dump(ctx context.Context, key []byte) (*db.Dumper, error) { tx.Commit(ctx) //tx.Rollback(ctx) pdb.it = rs - pdb.itBase = key + pdb.itBase = k return db.NewDumper(pdb.dumpFunc).WithFirst(r[0], r[1]), nil } - return nil, db.NewErrNotFound(key) + return nil, db.NewErrNotFound(k) } func(pdb *pgDb) dumpFunc(ctx context.Context) ([]byte, []byte) {