aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/data/db.go
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2025-07-19 19:01:39 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2025-07-19 19:01:39 -0400
commitfaf35ef54885bc48b897508ce3cb40b868ff505b (patch)
tree5ff54c8a73567df3c139e0471f7882971fb0f91e /pkg/data/db.go
parent08434926f5eda975808f66b45b3a828458d5ba7e (diff)
Add key-val db table for metadata
Diffstat (limited to 'pkg/data/db.go')
-rw-r--r--pkg/data/db.go21
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)
}