> In both cases, the transaction either commits or rollback occurs. No
> other option is possible at the end of the transaction, but in the first
> style of transaction semantics you get a "mid-way" decision point. This
> only refers to retryable errors, since errors like access rights
> violations and many other system errors aren't retryable. In the example

You seem to ignore the fact, that a lot of errors (and I assume most of 
the real world cases, where the appl actually reacts inside a transaction) are 
"repared" by these applications by doing something else instead.

Like the application does an insert gets a duplicate key error and does an update 
instead. Or it does an insert gets a foreign key constraint violation,
populates the foreign table and does the insert again. Note that this programming 
practice is more efficient, than letting the appl check beforehand if the error cases 
are seldom.

It seems to me, that leaving all this to the client (which implicitly inserts 
savepoints) can never be as efficient as a serverside feature.

Andreas

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to