Re: Surrogate Keys: an Implementation Issue
Date: Thu, 27 Jul 2006 16:18:40 GMT
Message-ID: <AH5yg.250333$IK3.94968_at_pd7tw1no>
Brian Selzer wrote:
> "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
> news:PPMxg.21411$pu3.353655_at_ursa-nb00s0.nbnet.nb.ca...
>> Brian Selzer wrote: >> ...
> I know what an external predicate is. What does that have to do with the
> fact that Bob just updated the wrong row? How could you prevent that in
> application code, or in the middle-tier? You can't, unless you either (1)
> lock the row until Bob gets back from Tahiti, or (2) use a surrogate to
> guarantee that the row that's about to be updated is the same as the one
> that was read out.
> ...
It has to be said that RT has nothing to do with 'duration' (let alone lock managers) nor does it need to. Theoretically, all an implementation needs to guarantee is 1) serialize the changes that an application desires to be made atomic, ie. give the effect of applying all changes at a point in time and 2) at update time, allow the application to re-iterate all (and only) the assertions it is depending on (not just true ones but also false ones). I doubt that there are any such rdbms's today. It is like criticism of RT because of SQL shortcomings - the lack of faithful implementations only serves to encourage naive extensions to RT.
p Received on Thu Jul 27 2006 - 18:18:40 CEST