summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/prserv/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/prserv/db.py')
-rw-r--r--bitbake/lib/prserv/db.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py
index 49f36da1ad..3bdc04692e 100644
--- a/bitbake/lib/prserv/db.py
+++ b/bitbake/lib/prserv/db.py
@@ -19,6 +19,7 @@ class PRTable(object):
19 def __init__(self, conn, table, nohist): 19 def __init__(self, conn, table, nohist):
20 self.conn = conn 20 self.conn = conn
21 self.nohist = nohist 21 self.nohist = nohist
22 self.dirty = False
22 if nohist: 23 if nohist:
23 self.table = "%s_nohist" % table 24 self.table = "%s_nohist" % table
24 else: 25 else:
@@ -47,6 +48,11 @@ class PRTable(object):
47 self.conn.commit() 48 self.conn.commit()
48 self._execute("BEGIN EXCLUSIVE TRANSACTION") 49 self._execute("BEGIN EXCLUSIVE TRANSACTION")
49 50
51 def sync_if_dirty(self):
52 if self.dirty:
53 self.sync()
54 self.dirty = False
55
50 def _getValueHist(self, version, pkgarch, checksum): 56 def _getValueHist(self, version, pkgarch, checksum):
51 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, 57 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
52 (version, pkgarch, checksum)) 58 (version, pkgarch, checksum))
@@ -62,6 +68,8 @@ class PRTable(object):
62 except sqlite3.IntegrityError as exc: 68 except sqlite3.IntegrityError as exc:
63 logger.error(str(exc)) 69 logger.error(str(exc))
64 70
71 self.dirty = True
72
65 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, 73 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
66 (version, pkgarch, checksum)) 74 (version, pkgarch, checksum))
67 row=data.fetchone() 75 row=data.fetchone()
@@ -89,6 +97,8 @@ class PRTable(object):
89 logger.error(str(exc)) 97 logger.error(str(exc))
90 self.conn.rollback() 98 self.conn.rollback()
91 99
100 self.dirty = True
101
92 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, 102 data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
93 (version, pkgarch, checksum)) 103 (version, pkgarch, checksum))
94 row=data.fetchone() 104 row=data.fetchone()
@@ -118,6 +128,8 @@ class PRTable(object):
118 except sqlite3.IntegrityError as exc: 128 except sqlite3.IntegrityError as exc:
119 logger.error(str(exc)) 129 logger.error(str(exc))
120 130
131 self.dirty = True
132
121 data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, 133 data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
122 (version, pkgarch, checksum)) 134 (version, pkgarch, checksum))
123 row = data.fetchone() 135 row = data.fetchone()
@@ -139,6 +151,8 @@ class PRTable(object):
139 except sqlite3.IntegrityError as exc: 151 except sqlite3.IntegrityError as exc:
140 logger.error(str(exc)) 152 logger.error(str(exc))
141 153
154 self.dirty = True
155
142 data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table, 156 data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table,
143 (version,pkgarch,checksum,value)) 157 (version,pkgarch,checksum,value))
144 row=data.fetchone() 158 row=data.fetchone()