[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