Kaydet (Commit) 7bea2347 authored tarafından Berker Peksag's avatar Berker Peksag

Issue #27190: Raise NotSupportedError if sqlite3 is older than 3.3.1

Patch by Dave Sawyer.
üst c415440f
......@@ -180,6 +180,12 @@ class ConnectionTests(unittest.TestCase):
with self.assertRaises(sqlite.OperationalError):
cx.execute('insert into test(id) values(1)')
def CheckSameThreadErrorOnOldVersion(self):
if sqlite.sqlite_version_info >= (3, 3, 1):
self.skipTest('test needs sqlite3 versions older than 3.3.1')
with self.assertRaises(sqlite.NotSupportedError) as cm:
sqlite.connect(':memory:', check_same_thread=False)
self.assertEqual(str(cm.exception), 'shared connections not available')
class CursorTests(unittest.TestCase):
def setUp(self):
......
......@@ -10,6 +10,9 @@ Release date: tba
Core and Builtins
-----------------
- Issue #27190: Raise NotSupportedError if sqlite3 is older than 3.3.1.
Patch by Dave Sawyer.
- Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
function with generalized unpacking (PEP 448) and conflicting keyword names
could cause undefined behavior.
......
......@@ -164,6 +164,10 @@ int pysqlite_connection_init(pysqlite_Connection* self, PyObject* args, PyObject
#ifdef WITH_THREAD
self->thread_ident = PyThread_get_thread_ident();
#endif
if (!check_same_thread && sqlite3_libversion_number() < 3003001) {
PyErr_SetString(pysqlite_NotSupportedError, "shared connections not available");
return -1;
}
self->check_same_thread = check_same_thread;
self->function_pinboard = PyDict_New();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment