diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2024-12-29 13:41:07 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2024-12-29 13:41:07 +0100 |
commit | ce2e58b6bcdef7616d5426f3310ab09cdea92f32 (patch) | |
tree | 08fa382743a37b8951f8de370f611412970a067f | |
parent | ca462ac0056cfe434acc8b8faf50a439ce3f8c91 (diff) | |
download | gallery-ce2e58b6bcdef7616d5426f3310ab09cdea92f32.tar.gz gallery-ce2e58b6bcdef7616d5426f3310ab09cdea92f32.tar.xz gallery-ce2e58b6bcdef7616d5426f3310ab09cdea92f32.zip |
Fix extremely slow removals
-rw-r--r-- | initialize.sql | 1 | ||||
-rw-r--r-- | 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); @@ -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( |