From 3a51c7bd3509a7fcf1acdc3dafd20bea2b4e7ffe Mon Sep 17 00:00:00 2001 From: rembo10 Date: Thu, 25 Jul 2013 18:51:19 +0530 Subject: [PATCH] Changed database journal mode to write-ahead logging --- headphones/__init__.py | 5 ++++- headphones/db.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/headphones/__init__.py b/headphones/__init__.py index 540954a9..51f0af1a 100644 --- a/headphones/__init__.py +++ b/headphones/__init__.py @@ -234,6 +234,7 @@ HPUSER = None HPPASS = None CACHE_SIZEMB = 32 +JOURNAL_MODE = None UMASK = None @@ -303,7 +304,7 @@ def initialize(): PROWL_ENABLED, PROWL_PRIORITY, PROWL_KEYS, PROWL_ONSNATCH, PUSHOVER_ENABLED, PUSHOVER_PRIORITY, PUSHOVER_KEYS, PUSHOVER_ONSNATCH, MIRRORLIST, \ MIRROR, CUSTOMHOST, CUSTOMPORT, CUSTOMSLEEP, HPUSER, HPPASS, XBMC_ENABLED, XBMC_HOST, XBMC_USERNAME, XBMC_PASSWORD, XBMC_UPDATE, \ XBMC_NOTIFY, NMA_ENABLED, NMA_APIKEY, NMA_PRIORITY, NMA_ONSNATCH, SYNOINDEX_ENABLED, ALBUM_COMPLETION_PCT, PREFERRED_BITRATE_HIGH_BUFFER, \ - PREFERRED_BITRATE_LOW_BUFFER, PREFERRED_BITRATE_ALLOW_LOSSLESS, CACHE_SIZEMB, UMASK + PREFERRED_BITRATE_LOW_BUFFER, PREFERRED_BITRATE_ALLOW_LOSSLESS, CACHE_SIZEMB, JOURNAL_MODE, UMASK if __INITIALIZED__: return False @@ -507,6 +508,7 @@ def initialize(): HPPASS = check_setting_str(CFG, 'General', 'hppass', '') CACHE_SIZEMB = check_setting_int(CFG,'Advanced','cache_sizemb',32) + JOURNAL_MODE = check_setting_int(CFG,'Advanced', 'journal_mode', 'wal') ALBUM_COMPLETION_PCT = check_setting_int(CFG, 'Advanced', 'album_completion_pct', 80) @@ -877,6 +879,7 @@ def config_write(): new_config['Advanced'] = {} new_config['Advanced']['album_completion_pct'] = ALBUM_COMPLETION_PCT new_config['Advanced']['cache_sizemb'] = CACHE_SIZEMB + new_config['Advanced']['journal_mode'] = JOURNAL_MODE new_config.write() diff --git a/headphones/db.py b/headphones/db.py index f25636be..d0d39ca6 100644 --- a/headphones/db.py +++ b/headphones/db.py @@ -50,7 +50,7 @@ class DBConnection: #don't wait for the disk to finish writing self.connection.execute("PRAGMA synchronous = OFF") #journal disabled since we never do rollbacks - self.connection.execute("PRAGMA journal_mode = OFF") + self.connection.execute("PRAGMA journal_mode = %s" % headphones.JOURNAL_MODE) #64mb of cache memory,probably need to make it user configurable self.connection.execute("PRAGMA cache_size=-%s" % (getCacheSize()*1024)) self.connection.row_factory = sqlite3.Row