summaryrefslogtreecommitdiffstats
path: root/module/database
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-02 17:01:59 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-02 17:01:59 +0200
commit56754bcdbd15db520318a88ac779e1eb027853a8 (patch)
tree2d1a09b3fbe36eb6575e2ea757014b5c3d2dcb46 /module/database
parentupload to fix (diff)
downloadpyload-56754bcdbd15db520318a88ac779e1eb027853a8.tar.xz
added several checks to improve stability
Diffstat (limited to 'module/database')
-rw-r--r--module/database/DatabaseBackend.py21
-rw-r--r--module/database/FileDatabase.py4
2 files changed, 22 insertions, 3 deletions
diff --git a/module/database/DatabaseBackend.py b/module/database/DatabaseBackend.py
index 95bb6a198..c147aa018 100644
--- a/module/database/DatabaseBackend.py
+++ b/module/database/DatabaseBackend.py
@@ -233,8 +233,27 @@ class DatabaseBackend(Thread):
self.c.executemany("INSERT INTO users(name, password, email) VALUES (?, ?, ?)", users)
move("pyload.db", "pyload.old.db")
-
+
+ #try to lower ids
+ self.c.execute('SELECT max(id) FROM LINKS')
+ fid = self.c.fetchone()[0]
+ if fid:
+ fid = int(fid)
+ else:
+ fid = 0
+ self.c.execute('UPDATE SQLITE_SEQUENCE SET seq=? WHERE name=?', (fid, "links"))
+
+
+ self.c.execute('SELECT max(id) FROM packages')
+ pid = self.c.fetchone()[0]
+ if pid:
+ pid = int(fid)
+ else:
+ pid = 0
+ self.c.execute('UPDATE SQLITE_SEQUENCE SET seq=? WHERE name=?', (pid, "packages"))
+
self.c.execute('VACUUM')
+
def createCursor(self):
return self.conn.cursor()
diff --git a/module/database/FileDatabase.py b/module/database/FileDatabase.py
index 3ba43f881..7ecf81576 100644
--- a/module/database/FileDatabase.py
+++ b/module/database/FileDatabase.py
@@ -96,7 +96,7 @@ class FileHandler:
self.db.syncSave()
- #----------------------------------------------------------------------
+ @lock
def getCompleteData(self, queue=1):
"""gets a complete data representation"""
@@ -112,7 +112,7 @@ class FileHandler:
return packs
- #----------------------------------------------------------------------
+ @lock
def getInfoData(self, queue=1):
"""gets a data representation without links"""