@@ -37,7 +37,6 @@ class PRTable(object):
def __init__(self, conn, table, read_only):
self.conn = conn
self.read_only = read_only
- self.dirty = False
self.table = table
if self.read_only:
@@ -53,6 +52,7 @@ class PRTable(object):
checksum TEXT NOT NULL, \
value TEXT, \
PRIMARY KEY (version, pkgarch, checksum, value));" % self.table)
+ self.sync()
def _execute(self, *query):
"""Execute a query, waiting to acquire a lock if necessary"""
@@ -71,11 +71,6 @@ class PRTable(object):
self.conn.commit()
self._execute("BEGIN EXCLUSIVE TRANSACTION")
- def sync_if_dirty(self):
- if self.dirty:
- self.sync()
- self.dirty = False
-
def test_package(self, version, pkgarch):
"""Returns whether the specified package version is found in the database for the specified architecture"""
@@ -167,7 +162,7 @@ class PRTable(object):
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
- self.dirty = True
+ self.sync()
def _get_value(self, version, pkgarch, checksum, history):
@@ -216,7 +211,7 @@ class PRTable(object):
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
- self.dirty = True
+ self.sync()
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
@@ -242,7 +237,7 @@ class PRTable(object):
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
- self.dirty = True
+ self.sync()
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table,
(version, pkgarch, checksum, value))
@@ -44,8 +44,6 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection):
except:
self.server.table.sync()
raise
- else:
- self.server.table.sync_if_dirty()
async def handle_test_pr(self, request):
'''Finds the PR value corresponding to the request. If not found, returns None and doesn't insert a new value'''
@@ -233,7 +231,6 @@ class PRServer(bb.asyncrpc.AsyncServer):
return tasks
async def stop(self):
- self.table.sync_if_dirty()
self.db.disconnect()
await super().stop()