Re: Theoretical Basis for SELECT FOR UPDATE

From: Gene Wirchenko <genew_at_ucantrade.com.NOTHERE>
Date: Tue, 04 Oct 2005 10:57:02 -0700
Message-ID: <ddb5k1pf5brctad156r2e64tbmjruii73q_at_4ax.com>


On 4 Oct 2005 07:54:24 -0700, "vc" <boston103_at_hotmail.com> wrote:

>Roy Hann wrote:

>>[vc:]

>> > What's unreasonable
>> > about restarting a transaction that failed due to a deadlock ?
>>
>> I'm not getting through at all here.
>>
>> Please give me the benefit of the doubt and look closely at what I am
>> asking. The problem is not that I don't understand what SQL wants me to do.
>> The problem is that (in general) I just can't restart the transaction
>> because (in general) I have no idea where it began and I have no idea what
>> it includes.
>
>I find it hard to accept the argument that you, as the application
>author, have no clue where you transactions start and end, and what
>statements it consists of, that you do not know how to structure SQL
>statements into stored procedures or some Java classes representing
>individual transactions.

     Please read more carefully. He has repeatedly said that he is working on large apps that have had many programmers.

     The problem with walking into such a situation is that anything could have happened. If the language allows you to shoot yourself in the foot, you can not assume that a previous programmer has not shot himself in the foot. It is too easy for your change to break some wonky code. It is fine to say that the other code should not have been written that way, but if it was written that way, that is the reality that you have to deal with.

>> It began implicitly sometime in the past and it has done who
>> knows what since then. I might hope I can guess when it (should have)
>> started, but I can't *really* know, except in special cases, because that is
>> how SQL is designed.
>
>See above.

     With SQL statements just about anywhere, how do you isolate exactly what that transaction is? Yes, there may be a way for you to do it with the way that you code, and if others coded as you do, there would be no problem. However, since others are not restricted to your way, they can do pretty much anything. That has to be untangled. Mr. Hann is saying that it can not be done very easily at all.

Sincerely,

Gene Wirchenko Received on Tue Oct 04 2005 - 19:57:02 CEST

Original text of this message