summaryrefslogtreecommitdiffstats
path: root/lib/prserv/db.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-28 16:06:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-29 00:12:29 +0100
commit5709efc2ff1e36529bd28f49cd093ccfa7abff7f (patch)
treee99a0a42cab270b2476366271aaff8447c3ffd25 /lib/prserv/db.py
parent85fed8acc3af3e15bf119db2f51c486a9de3646b (diff)
downloadbitbake-5709efc2ff1e36529bd28f49cd093ccfa7abff7f.tar.gz
prserv/db: Threading fixes
Enabling threading for the PRServer causes a number of issues. Firstly is the obtuse error: sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type which is due to the class not being derived from object. See: http://docs.python.org/2/library/sqlite3.html#registering-an-adapter-callable Secondly, we want to enable multithreadded access to the database so we do this when we open it. This opens the way up to multithreading the PR server. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/prserv/db.py')
-rw-r--r--lib/prserv/db.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/prserv/db.py b/lib/prserv/db.py
index 9d8e9db9f..7d74327c5 100644
--- a/lib/prserv/db.py
+++ b/lib/prserv/db.py
@@ -14,7 +14,7 @@ sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
raise Exception("sqlite3 version 3.3.0 or later is required.")
-class PRTable():
+class PRTable(object):
def __init__(self, conn, table, nohist):
self.conn = conn
self.nohist = nohist
@@ -223,7 +223,7 @@ class PRData(object):
except OSError as e:
if e.errno != errno.EEXIST:
raise e
- self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED")
+ self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED", check_same_thread = False)
self.connection.row_factory=sqlite3.Row
self._tables={}