[ZODB-Dev] Re: [Zope-dev] Conflict reduced BTrees for catalogin

Dieter Maurer dieter@handshake.de
Tue, 18 Mar 2003 21:17:14 +0100


Jeremy Hylton wrote at 2003-3-17 16:19 -0500:
 > On Mon, 2003-03-17 at 13:58, Dieter Maurer wrote:
 > > My approach is to load the latest version with a timestamp
 > > before or at the transaction start time.
 > > This will work only with history enabled storages.
 > 
 > It's going to require a new storage API method, too, since there is
 > currently no way to ask to load to operate with respect to a given
 > time.

We already have this for storages that support "history".

For such storages, I already have code to get the object state
valid for any given time.

 > It's actually very easy to implement in Berkeley storages.  It's
 > harder in FileStorage, although I expect the difficulty is primarily in
 > making it work efficiently.

I hope, we will rarely need to take explicit control.
It will usually be necessary then when we now get a ReadConflictError.
We will not need to look far down into the past.
Therefore even the current history mechanism (for FileStorage)
will be efficient.


Dieter