Re: MV Keys

From: vc <boston103_at_hotmail.com>
Date: 3 Mar 2006 18:12:23 -0800
Message-ID: <1141438343.609961.317980_at_p10g2000cwp.googlegroups.com>


mAsterdam wrote:
> vc wrote:
> > mAsterdam wrote:
> >>vc wrote:
> >>>mAsterdam wrote:
> >>>>Marshall Spight wrote:
> >>>>>Jon Heggland wrote:
> >>>>>
> >>>>>The relational operators don't handle lists very well.
> >>>>>
> >>>>>myList.removeAt(3)
> >>>>>
> >>>>>vs.
> >>>>>
> >>>>>BEGIN
> >>>>>delete from MyList where Index = 3;
> >>>>>update MyList set Index = Index - 1 where Index > 3;
> >>>>>COMMIT
> >>>>
> >>>>
> >>>>Aside (the example surely illustrates your point)
> >>>>could this removeAt operation possibly be useful
> >>>>in a concurrent environment?
> >>>>
> >>>>You'ld never know which item you are going to scratch -
> >>>>somebody else could have just done myList.removeAt(2).
> >>>
> >>>
> >>>What happened to concurrency contro in your hypothetical system ?
> >>
> >>Assuming MVCC the item which was the third item
> >>in MyList at transaction time would be removed.
> >>Results may be very unpleasant - that was my point -
> >>but would this constitute a CC failure?
> >
> > Sure it would. It would mean that your database CC is broken.
>
> In what way? Please explain.

If the CC implementation allows the result of several parallel transactions modifying the database to be *not* equivalent to some serial execution of the same transactions, the implementation is surely broken because it clearly does not achieve its goal of ensuring such equivalency. Received on Sat Mar 04 2006 - 03:12:23 CET

Original text of this message