diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2025-07-19 19:01:39 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2025-07-19 19:01:39 -0400 |
| commit | faf35ef54885bc48b897508ce3cb40b868ff505b (patch) | |
| tree | 5ff54c8a73567df3c139e0471f7882971fb0f91e /pkg/data/db.go | |
| parent | 08434926f5eda975808f66b45b3a828458d5ba7e (diff) | |
Add key-val db table for metadata
Diffstat (limited to 'pkg/data/db.go')
| -rw-r--r-- | pkg/data/db.go | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/pkg/data/db.go b/pkg/data/db.go index a8d1fe3..3c9f6d0 100644 --- a/pkg/data/db.go +++ b/pkg/data/db.go @@ -5,6 +5,7 @@ import ( "database/sql" "fmt" "strings" + "time" "github.com/jpappel/atlas/pkg/index" "github.com/jpappel/atlas/pkg/query" @@ -80,12 +81,12 @@ func createSchema(db *sql.DB) error { if err != nil { return err } - defer tx.Commit() _, err = tx.Exec(` - CREATE TABLE IF NOT EXISTS Indexes( - root TEXT NOT NULL, - followSym DATE + CREATE TABLE IF NOT EXISTS Info( + key TEXT PRIMARY KEY NOT NULL, + value TEXT NOT NULL, + updated INT NOT NULL )`) if err != nil { tx.Rollback() @@ -270,10 +271,18 @@ func createSchema(db *sql.DB) error { } if _, err = tx.Exec("PRAGMA OPTIMIZE"); err != nil { + tx.Rollback() + return err + } + + if _, err = tx.Exec("INSERT OR IGNORE INTO Info (key, value, updated) VALUES (?,?,?)", + "created", "", time.Now().UTC().Unix(), + ); err != nil { + tx.Rollback() return err } - return nil + return tx.Commit() } func (q Query) Close() error { @@ -314,7 +323,7 @@ func (q Query) Put(idx index.Index) error { // Update database with values from index, removes entries for deleted files func (q Query) Update(idx index.Index) error { ctx := context.TODO() - u := NewUpdateMany(q.db, idx.Documents) + u := UpdateMany{Db: q.db, PathDocs: idx.Documents} return u.Update(ctx) } |
