Rev 11: Change order, to make sure database can't contain inconsistent data. in file:///data/jelmer/bzr-global-log/trunk/

Jelmer Vernooij jelmer at samba.org
Tue Nov 20 18:22:46 GMT 2007


At file:///data/jelmer/bzr-global-log/trunk/

------------------------------------------------------------
revno: 11
revision-id:jelmer at samba.org-20071120181140-9acsl5q661cl1zpj
parent: jelmer at samba.org-20071120180607-842ytilr7u2dnq61
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Tue 2007-11-20 19:11:40 +0100
message:
  Change order, to make sure database can't contain inconsistent data.
modified:
  cache.py                       db.py-20071105012118-v51dlgcjf12dagnc-1
=== modified file 'cache.py'
--- a/cache.py	2007-11-20 18:06:07 +0000
+++ b/cache.py	2007-11-20 18:11:40 +0000
@@ -73,17 +73,17 @@
         self.db.commit()
 
     def add_revision(self, rev):
-        self.db.execute("""INSERT INTO revision (revid, committer, 
+        for name, value in rev.properties.items():
+            self.db.execute("REPLACE INTO revision_property (revid, name, value) VALUES (?, ?, ?)", (rev.revision_id, name, value))
+        for p in rev.parent_ids:
+            self.db.execute("REPLACE INTO revision_parent (child_revid, parent_revid) VALUES (?, ?)", (rev.revision_id, p))
+        self.db.execute("""REPLACE INTO revision (revid, committer, 
                                                timestamp, timezone, message,
                                                inventory_sha1)
                          VALUES (?, ?, ?, ?, ?, ?)""",
                          (rev.revision_id, rev.committer,
                           rev.timestamp, rev.timezone, rev.message, 
                           rev.inventory_sha1))
-        for name, value in rev.properties.items():
-            self.db.execute("INSERT INTO revision_property (revid, name, value) VALUES (?, ?, ?)", (rev.revision_id, name, value))
-        for p in rev.parent_ids:
-            self.db.execute("REPLACE INTO revision_parent (child_revid, parent_revid) VALUES (?, ?)", (rev.revision_id, p))
         self.db.commit()
 
     def get_revision(self, revid):




More information about the bazaar-commits mailing list