[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
Re: Notes on accessing past versions
- To: Tuomas Lukka <lukka@xxxxxxxxxx>
- Subject: Re: Notes on accessing past versions
- From: Benjamin Fallenstein <b.fallenstein@xxxxxx>
- Date: Fri, 02 Mar 2001 10:56:11 +0100
- Cc: ZZ Development <zzdev@xxxxxxxxxx>
- References: <20010223114609.A18335@xxxxxxxxxxx> <3A96DA92.FA0032F4@xxxxxx> <20010224115918.A32572@xxxxxxxxxxx> <3A9D5D73.9F2FC98@xxxxxx> <20010301161215.G25394@xxxxxxxxxxx> <3A9E7080.332EB496@xxxxxx> <20010302085954.D2918@xxxxxxxxxxx> <20010302101359.B17162@xxxxxxxxxxxxxx>
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...
-b.