From 6b2af0acc721c0b211fb0952c009b23cf3252d00 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Mon, 24 Oct 2016 14:30:46 +0300 Subject: [PATCH] Fix VACUUM command SQLite doesn't vacuum a single table but the entire database. --- m_librarian/glst.py | 4 +++- m_librarian/inp.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/m_librarian/glst.py b/m_librarian/glst.py index f639c1b..0ceba1a 100755 --- a/m_librarian/glst.py +++ b/m_librarian/glst.py @@ -48,8 +48,10 @@ def _import_glst(): old_nonfb2, new_nonfb2 = import_glst_file( os.path.join(ml_dir, 'glst', 'genres_nonfb2.glst')) connection = sqlhub.processConnection - if connection.dbName in ('postgres', 'sqlite'): + if connection.dbName == 'postgres': connection.query("VACUUM %s" % Genre.sqlmeta.table) + elif connection.dbName == 'sqlite': + connection.query("VACUUM") return old_fb2 + old_nonfb2, new_fb2 + new_nonfb2 diff --git a/m_librarian/inp.py b/m_librarian/inp.py index e16df6c..863523f 100644 --- a/m_librarian/inp.py +++ b/m_librarian/inp.py @@ -90,6 +90,8 @@ def import_inpx(path): sqlhub.doInTransaction(import_inp, archive + '.zip', inp) inp.close() connection = sqlhub.processConnection - if connection.dbName in ('postgres', 'sqlite'): + if connection.dbName == 'postgres': for table in Author, Book, Extension, Genre, Language: connection.query("VACUUM %s" % table.sqlmeta.table) + elif connection.dbName == 'sqlite': + connection.query("VACUUM") -- 2.39.2