]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
backupdb.py: catch OperationalError on duplicate-insert too, since pysqlite2 on dappe...
authorBrian Warner <warner@lothar.com>
Fri, 6 Feb 2009 08:34:01 +0000 (01:34 -0700)
committerBrian Warner <warner@lothar.com>
Fri, 6 Feb 2009 08:34:01 +0000 (01:34 -0700)
src/allmydata/scripts/backupdb.py

index 02cf7eb6d8f5fc4c094f98f61340d9d2c61dee59..51fbda7d242900755d4421e2846aecbda3e17502 100644 (file)
@@ -208,7 +208,9 @@ class BackupDB_v1:
         c = self.cursor
         try:
             c.execute("INSERT INTO caps (filecap) VALUES (?)", (filecap,))
-        except self.sqlite_module.IntegrityError:
+        except (self.sqlite_module.IntegrityError, self.sqlite_module.OperationalError):
+            # sqlite3 on sid gives IntegrityError
+            # pysqlite2 on dapper gives OperationalError
             pass
         c.execute("SELECT fileid FROM caps WHERE filecap=?", (filecap,))
         foundrow = c.fetchone()
@@ -222,7 +224,7 @@ class BackupDB_v1:
         try:
             self.cursor.execute("INSERT INTO last_upload VALUES (?,?,?)",
                                 (fileid, now, now))
-        except self.sqlite_module.IntegrityError:
+        except (self.sqlite_module.IntegrityError, self.sqlite_module.OperationalError):
             self.cursor.execute("UPDATE last_upload"
                                 " SET last_uploaded=?, last_checked=?"
                                 " WHERE fileid=?",
@@ -230,7 +232,7 @@ class BackupDB_v1:
         try:
             self.cursor.execute("INSERT INTO local_files VALUES (?,?,?,?,?)",
                                 (path, size, mtime, ctime, fileid))
-        except self.sqlite_module.IntegrityError:
+        except (self.sqlite_module.IntegrityError, self.sqlite_module.OperationalError):
             self.cursor.execute("UPDATE local_files"
                                 " SET size=?, mtime=?, ctime=?, fileid=?"
                                 " WHERE path=?",