summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-04-04 09:26:28 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-04-04 09:26:28 -0400
commit57567700db5c56d793a09942c21f42714da7efab (patch)
tree419567a2f2008df23a13818d68c1f185e5d6fc01
parent66173dc24db5e6800483e0faddf583e80d9eb9b3 (diff)
downloadpython-coveragepy-git-nedbat/bug1138.tar.gz
fix: retry immediately on a failure inside executemany. #1138nedbat/bug1138
-rw-r--r--coverage/sqldata.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py
index a150fdfd..f58486ac 100644
--- a/coverage/sqldata.py
+++ b/coverage/sqldata.py
@@ -1103,7 +1103,14 @@ class SqliteDb(SimpleReprMixin):
if self.debug:
data = list(data)
self.debug.write("Executing many {!r} with {} rows".format(sql, len(data)))
- return self.con.executemany(sql, data)
+ try:
+ return self.con.executemany(sql, data)
+ except Exception:
+ # In some cases, an error might happen that isn't really an
+ # error. Try again immediately.
+ # https://github.com/nedbat/coveragepy/issues/1010
+ # https://github.com/nedbat/coveragepy/issues/1138
+ return self.con.executemany(sql, data)
def executescript(self, script):
"""Same as :meth:`python:sqlite3.Connection.executescript`."""