]> granicus.if.org Git - python/commitdiff
bpo-27645: Fix version number in 'database in transaction' fallback (GH-6131)
authorAviv Palivoda <palaviv@gmail.com>
Sun, 18 Mar 2018 00:48:55 +0000 (02:48 +0200)
committerBerker Peksag <berker.peksag@gmail.com>
Sun, 18 Mar 2018 00:48:55 +0000 (03:48 +0300)
It was actually fixed in SQLite 3.8.8, not 3.8.7.

Lib/sqlite3/test/backup.py
Modules/_sqlite/connection.c

index 2a21489374130f60f03799f31a2361a23911f37d..903bacf490301cbb9de1cbf7cf213797e3599fb6 100644 (file)
@@ -37,14 +37,12 @@ class BackupTests(unittest.TestCase):
             self.cx.backup(bck)
 
     def test_bad_target_in_transaction(self):
-        if sqlite.sqlite_version_info == (3, 8, 7, 1):
-            self.skipTest('skip until we debug https://bugs.python.org/issue27645#msg313562')
         bck = sqlite.connect(':memory:')
         bck.execute('CREATE TABLE bar (key INTEGER)')
         bck.executemany('INSERT INTO bar (key) VALUES (?)', [(3,), (4,)])
         with self.assertRaises(sqlite.OperationalError) as cm:
             self.cx.backup(bck)
-        if sqlite.sqlite_version_info < (3, 8, 7):
+        if sqlite.sqlite_version_info < (3, 8, 8):
             self.assertEqual(str(cm.exception), 'target is in transaction')
 
     def test_keyword_only_args(self):
index 14b6a2774e78c6542a3bfedc65ba96f0242de021..dc5061c1d91da956e209cabbd5a547ea219f5cdc 100644 (file)
@@ -1481,8 +1481,8 @@ pysqlite_connection_backup(pysqlite_Connection *self, PyObject *args, PyObject *
         return NULL;
     }
 
-#if SQLITE_VERSION_NUMBER < 3008007
-    /* Since 3.8.7 this is already done, per commit
+#if SQLITE_VERSION_NUMBER < 3008008
+    /* Since 3.8.8 this is already done, per commit
        https://www.sqlite.org/src/info/169b5505498c0a7e */
     if (!sqlite3_get_autocommit(((pysqlite_Connection *)target)->db)) {
         PyErr_SetString(pysqlite_OperationalError, "target is in transaction");