SQLite: close db when done

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Nicolas Sebrecht
2016-04-09 19:52:33 +02:00
parent 1ba5e9160d
commit 6fb5700f94
5 changed files with 24 additions and 8 deletions

View File

@ -154,6 +154,9 @@ class LocalStatusFolder(BaseFolder):
self.readstatus(cachefd)
cachefd.close()
def closefiles(self):
pass # Closing files is done on a per-transaction basis.
def save(self):
"""Save changed data to disk. For this backend it is the same as saveall."""

View File

@ -221,6 +221,12 @@ class LocalStatusSQLiteFolder(BaseFolder):
self.messagelist[uid]['labels'] = labels
self.messagelist[uid]['mtime'] = row[2]
def closefiles(self):
try:
self.connection.close()
except:
pass
# Interface from LocalStatusFolder
def save(self):
pass
@ -329,7 +335,7 @@ class LocalStatusSQLiteFolder(BaseFolder):
def savemessageslabelsbulk(self, labels):
"""
Saves labels from a dictionary in a single database operation.
"""
data = [(', '.join(sorted(l)), uid) for uid, l in labels.items()]
self.__sql_write('UPDATE status SET labels=? WHERE id=?', data, executemany=True)