aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/data
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2025-05-26 23:24:04 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2025-05-26 23:24:04 -0400
commit417691f0fb4b1b53880c940ff3dbf885c1956151 (patch)
tree88ec596bdac786c9622500133e6ae55a9052d22d /pkg/data
parenta3daeba8847e634fdf07f5865156f11f786ef5ad (diff)
Refactor db code
Diffstat (limited to 'pkg/data')
-rw-r--r--pkg/data/db.go5
-rw-r--r--pkg/data/put.go22
2 files changed, 14 insertions, 13 deletions
diff --git a/pkg/data/db.go b/pkg/data/db.go
index fcf56f9..b4b7f90 100644
--- a/pkg/data/db.go
+++ b/pkg/data/db.go
@@ -231,15 +231,12 @@ func (q Query) Get(indexRoot string) (*index.Index, error) {
func (q Query) Put(idx index.Index) error {
ctx := context.TODO()
- insertCtx, cancel := context.WithCancelCause(ctx)
- defer cancel(nil)
-
p, err := NewPutMany(q.db, idx.Documents)
if err != nil {
return err
}
- if err := p.Insert(insertCtx); err != nil {
+ if err := p.Insert(ctx); err != nil {
return err
}
diff --git a/pkg/data/put.go b/pkg/data/put.go
index f3fe4b6..ebe7f04 100644
--- a/pkg/data/put.go
+++ b/pkg/data/put.go
@@ -305,15 +305,14 @@ func (p PutMany) authors(ctx context.Context) error {
return err
}
- _, err = p.db.Exec("CREATE TEMPORARY TABLE names (name TEXT UNIQUE NOT NULL)")
- // _, err = tx.Exec("CREATE TEMPORARY TABLE names (name TEXT UNIQUE NOT NULL)")
+ _, err = tx.Exec("CREATE TEMPORARY TABLE names (name TEXT UNIQUE NOT NULL)")
if err != nil {
tx.Rollback()
return err
}
defer p.db.Exec("DROP TABLE IF EXISTS temp.names")
- nameStmt, err := p.db.PrepareContext(ctx, "INSERT OR IGNORE INTO temp.names VALUES (?)")
+ nameStmt, err := tx.Prepare("INSERT OR IGNORE INTO temp.names VALUES (?)")
if err != nil {
return err
}
@@ -331,10 +330,10 @@ func (p PutMany) authors(ctx context.Context) error {
newAuthorsQuery := `
WITH new_names AS (
- SELECT name
+ SELECT temp.names.name
FROM temp.names
LEFT JOIN Authors on Authors.name = temp.names.name
- LEFT JOIN Aliases on Aliases.alias = tmep.names.name
+ LEFT JOIN Aliases on Aliases.alias = temp.names.name
WHERE Authors.name IS NULL AND Aliases.alias IS NULL
)
INSERT INTO Authors(name)
@@ -349,9 +348,9 @@ func (p PutMany) authors(ctx context.Context) error {
_, err = tx.Exec(`
CREATE TEMPORARY TABLE name_ids AS
SELECT names.name AS name, COALESCE(Authors.id, Aliases.authorId) AS authorId
- FROM names
+ FROM temp.names
LEFT JOIN Authors ON temp.names.name = Authors.name
- LEFT JOIN Aliases ON temp.names.name = Aliases.name
+ LEFT JOIN Aliases ON temp.names.name = Aliases.alias
`)
if err != nil {
tx.Rollback()
@@ -359,7 +358,7 @@ func (p PutMany) authors(ctx context.Context) error {
}
defer p.db.Exec("DROP TABLE IF EXISTS temp.name_ids")
- docAuthorsStmt, err := p.db.Prepare(`
+ docAuthorsStmt, err := tx.Prepare(`
INSERT INTO DocumentAuthors (docId, authorId)
SELECT ?, authorId
FROM temp.name_ids
@@ -380,5 +379,10 @@ func (p PutMany) authors(ctx context.Context) error {
}
}
- return tx.Commit()
+ if err := tx.Commit(); err != nil {
+ return err
+ }
+
+ fmt.Println("encountered no errors!")
+ return nil
}