summaryrefslogtreecommitdiff
path: root/coverage/sqldata.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-04-04 09:26:28 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-07-21 07:22:37 -0400
commitfad9ecf1733fb7d928d12ef2574c505657a4e8c4 (patch)
treee3a80e4c48e7233d12d8857a1cd9af832f347229 /coverage/sqldata.py
parent5313297fe84c596f9222a4890dd45a53a6d4d632 (diff)
downloadpython-coveragepy-git-fad9ecf1733fb7d928d12ef2574c505657a4e8c4.tar.gz
fix: retry immediately on a failure inside executemany. #1010
Diffstat (limited to 'coverage/sqldata.py')
-rw-r--r--coverage/sqldata.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py
index b2133026..db3ab73a 100644
--- a/coverage/sqldata.py
+++ b/coverage/sqldata.py
@@ -1119,7 +1119,13 @@ class SqliteDb(SimpleReprMixin):
if self.debug:
data = list(data)
self.debug.write(f"Executing many {sql!r} with {len(data)} rows")
- 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
+ return self.con.executemany(sql, data)
def executescript(self, script):
"""Same as :meth:`python:sqlite3.Connection.executescript`."""