[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: Notes on accessing past versions

Tuomas Lukka wrote:
> On Fri, Mar 02, 2001 at 08:59:54AM +0200, Antti-Juhani Kaijanaho wrote:
> > I now treat the old connections as overridable: newer connections override
> > older connections.  This also fixes the cross-version connection problem.
> Hmm... one of the things to think about cross-version connections is
> transcluding an earlier version or a part of it into the current space. This
> should be doable with little cost (ideally).

Do you remember my comments about pull-outs from last fall? I think the
key is to select a group of cells and pull out their contents as well as
all connections among them. There would be one "command" in the saved
dataset saying: p(ncells, cell 1, ..., cell n) which would, on loading,
do the pull-out thing for the content file and all dimensions. This implies:

* The space must be saved before (or after) the pull-out, so that there
are no ambiguities whether e.g. a connect command was executed before or
after a pull-out. (This is due to our current storage system which
automatically "folds" versions into one bigger version at commit time.)

* There must be one storage file for pull-outs. This means reading a
space in must be done timestamp-by-timestamp: First, you execute a
command in the pull-out file, then, commands in the other files, then
you advance the timestamp a step, then you execute a command in the
pull-out file...