Re: COPY vs. MOVE on advanced collection references

> I promised Adv. Coll. design team I'd start a thread on this topic,

Thank you Geoff.  I'm in the middle of a similar note but keep on getting
distracted by work.  :-)

> The expected semantics of MOVE is that I end up with the same stuff
> at some new location, and even a hope that appropriate references to
> the old stuff ends up pointing at the new stuff (i.e. that business
> about updating things between the COPY and the DELETE).

I agree.

> The expected semantics of COPY is that I end up with a different
> object, so that I can modify one copy and have it not affect the other.

Yup. I agree.

> Now let's look at what a MOVE on a reference should be.  It's pretty
> clear that you just want to have a copy of the source reference created
> at the destination.  If you look at how both hard-links and sym-links
> are implemented in file systems, this is exactly what happens.

I tend to agree.

> But now let's look at what a COPY on a reference should be.
> If you just make a copy of the reference, then any PUT to tthe
> source object will cause a modification visible in a GET to the
> destination object, and vica versa.  This is the opposite behavior
> from what one would expect from a "copy", and seems to violate
> the whole point of differentiating a "MOVE" from a "COPY".

I don't necessarily agree here.  What I expect (or at least want)
depends on what I'm doing at the time.  I think I'd tend to expect
the reference to be copied.  I don't think my disagreement
here really detracts from what you're saying though.

> One alternative is to revisit the definition of MOVE as a kind
> of COPY.  Part of me says that is the right choice, since many
> (or even most) systems treat MOVE as a "rename", not as a copy.
> ...
> "mv" to be a "tar" followed by an "rm -r".

I agree.

We should look through the old discussions to see what reasons they had for
this.  (I started this in my unfinished note.) I recall one was MOVE
between servers.  That's not really a compelling argument for me and I
believe that it was suggested at one point that if the move is between
servers, then a COPY/DELETE would get done... otherwise, what you suggest.
Anyway, I'm suggesting going through those discussions again to see what we
can learn.

> Either alternative is fine with me.
I prefer the right solution over the expedient.  We should not be
encouraging the view that MOVE is a COPY/DELETE... except where necessary.
Let's review old postings to see what situations we need to cover.

Thanks again for bringing this up.


Received on Tuesday, 2 February 1999 09:14:48 UTC