aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/data/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/data/db.go')
-rw-r--r--pkg/data/db.go31
1 files changed, 30 insertions, 1 deletions
diff --git a/pkg/data/db.go b/pkg/data/db.go
index 56024d3..9127b88 100644
--- a/pkg/data/db.go
+++ b/pkg/data/db.go
@@ -5,6 +5,7 @@ import (
"database/sql"
"fmt"
"log/slog"
+ "os"
"regexp"
"strings"
"time"
@@ -451,9 +452,14 @@ func createSchema(db *sql.DB, version string) error {
}
t := time.Now().UTC().Unix()
- if _, err = tx.Exec("INSERT OR IGNORE INTO Info (key, value, updated) VALUES (?,?,?), (?,?,?)",
+ hostname, _ := os.Hostname()
+ if _, err = tx.Exec(`
+ INSERT OR IGNORE INTO Info(key, value, updated)
+ VALUES
+ (?,?,?), (?,?,?), (?,?,?)`,
"created", "", t,
"version", version, t,
+ "creation_hostname", hostname, t,
); err != nil {
tx.Rollback()
return err
@@ -610,6 +616,29 @@ func regex(re, s string) (bool, error) {
return regexp.MatchString(re, s)
}
+func (q Query) UpdateInfo(crawlCount int, crawlTime int64, filteredCount int, filterTime int64, parseCount int, parseTime int64) error {
+ tx, err := q.db.Begin()
+ if err != nil {
+ return err
+ }
+
+ defer tx.Rollback()
+
+ _, err = tx.Exec(`
+ INSERT OR UPDATE INTO Info
+ VALUES
+ (?,?,?), (?,?,?), (?,?,?)`,
+ "crawl", fmt.Sprint(crawlCount), crawlTime,
+ "filter", fmt.Sprint(filteredCount), filterTime,
+ "parse", fmt.Sprint(parseCount), parseTime,
+ )
+ if err != nil {
+ return err
+ }
+
+ return tx.Commit()
+}
+
func init() {
sql.Register("sqlite3_regex",
&sqlite3.SQLiteDriver{