diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-04-04 09:26:28 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-07-21 07:22:37 -0400 |
commit | fad9ecf1733fb7d928d12ef2574c505657a4e8c4 (patch) | |
tree | e3a80e4c48e7233d12d8857a1cd9af832f347229 /coverage/sqldata.py | |
parent | 5313297fe84c596f9222a4890dd45a53a6d4d632 (diff) | |
download | python-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.py | 8 |
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`.""" |