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( | 
