From ce2e58b6bcdef7616d5426f3310ab09cdea92f32 Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch Date: Sun, 29 Dec 2024 13:41:07 +0100 Subject: Fix extremely slow removals --- initialize.sql | 1 + main.go | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/initialize.sql b/initialize.sql index 292c50b..436d34f 100644 --- a/initialize.sql +++ b/initialize.sql @@ -23,6 +23,7 @@ CREATE TABLE IF NOT EXISTS node( ) STRICT; CREATE INDEX IF NOT EXISTS node__sha1 ON node(sha1); +CREATE INDEX IF NOT EXISTS node__parent ON node(parent); CREATE UNIQUE INDEX IF NOT EXISTS node__parent_name ON node(IFNULL(parent, 0), name); diff --git a/main.go b/main.go index 53306d7..0eb7382 100644 --- a/main.go +++ b/main.go @@ -94,10 +94,15 @@ func init() { } func openDB(directory string) error { + galleryDirectory = directory + var err error db, err = sql.Open("sqlite3_custom", "file:"+filepath.Join(directory, nameOfDB+"?_foreign_keys=1&_busy_timeout=1000")) - galleryDirectory = directory + if err != nil { + return err + } + _, err = db.Exec(initializeSQL) return err } @@ -303,10 +308,6 @@ func cmdInit(fs *flag.FlagSet, args []string) error { return err } - if _, err := db.Exec(initializeSQL); err != nil { - return err - } - // XXX: There's technically no reason to keep images as symlinks, // we might just keep absolute paths in the database as well. if err := os.MkdirAll( -- cgit v1.2.3-70-g09d2