Commit e5f77204 authored by Tim Peters's avatar Tim Peters

_setstate(): An MVCC optimization was inadvertently disabled by

fixes for ZClasses.  Repaired.

Elsewhere, repaired English in comments.
parent 433d4365
......@@ -20,6 +20,12 @@ Tools
tools need to perform minimal logging configuration themselves. Changed
the zeoup script to do so and thus enable it to emit error messages.
Connection
----------
- (3.4.3b1) An optimization for loading non-current data (MVCC) was
inadvertently disabled in ``_setstate()``; this has been repaired.
What's new in ZODB3 3.4.2?
==========================
......
......@@ -591,8 +591,8 @@ class Connection(ExportImport, object):
self._storage.tpc_abort(transaction)
# Note: If we invalidate a non-justifiable object (i.e. a
# persistent class), the object will immediately reread it's
# Note: If we invalidate a non-ghostifiable object (i.e. a
# persistent class), the object will immediately reread its
# state. That means that the following call could result in a
# call to self.setstate, which, of course, must succeed. In
# general, it would be better if the read could be delayed
......@@ -731,10 +731,8 @@ class Connection(ExportImport, object):
# dict update could go on in another thread, but we don't care
# because we have to check again after the load anyway.
if (obj._p_oid in self._invalidated
and not myhasattr(obj, "_p_independent")
and not self._invalidated
):
if (obj._p_oid in self._invalidated and
not myhasattr(obj, "_p_independent")):
# If the object has _p_independent(), we will handle it below.
self._load_before_or_conflict(obj)
return
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment