summaryrefslogtreecommitdiff
path: root/coverage/sqldata.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/sqldata.py')
-rw-r--r--coverage/sqldata.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py
index c8594a45..58b82d2f 100644
--- a/coverage/sqldata.py
+++ b/coverage/sqldata.py
@@ -253,10 +253,10 @@ class CoverageData(SimpleReprMixin):
def _reset(self):
"""Reset our attributes."""
- if self._dbs:
+ if not self._no_disk:
for db in self._dbs.values():
db.close()
- self._dbs = {}
+ self._dbs = {}
self._file_map = {}
self._have_used = False
self._current_context_id = None
@@ -679,6 +679,7 @@ class CoverageData(SimpleReprMixin):
path: id
for id, path in conn.execute("select id, path from file")
}
+ self._file_map.update(file_ids)
conn.executemany(
"insert or ignore into context (context) values (?)",
((context,) for context in contexts)
@@ -752,9 +753,10 @@ class CoverageData(SimpleReprMixin):
((file_ids[filename], tracer) for filename, tracer in tracer_map.items())
)
- # Update all internal cache data.
- self._reset()
- self.read()
+ if not self._no_disk:
+ # Update all internal cache data.
+ self._reset()
+ self.read()
def erase(self, parallel=False):
"""Erase the data in this object.