Subject Re: [IBO] Transactions Scope for a Beginner
Author Helen Borrie
At 06:38 PM 23/02/2004 +0000, you wrote:
>Hi Alan,
>Well thanks a lot for the response. But i would like to understand if
>all transaction scope does happen at client side

It does.

>what is the
>relevance of transaction scope commands like set transaction, commit
>and rollback

They are statements sent from the client to the server. (In IBO, the
TIB_Transaction class takes care of the API equivalent of SET TRANSACTION,
with the method StartTransaction). SET TRANSACTION isn't used with IBO at all.

>as listed out in the index...or am i using incorrect
>syntax.. i have been able to implement similar business logic in MS
>Sql Server.

SQL Server has a totally different architecture, that uses two-phase
pessimistic locking to achieve transaction isolation. What you are talking
about is "embedded transactions", a concept that inconsistent with the
transaction isolation model of Fb/IB. The equivalent of ET in Fb/IB is
exception blocks in PSQL. Overall, Fb/IB has (and requires) a much less
aggressive model for isolation than lock-driven systems like SQL Server.

In Firebird 1.5 you can also set "bookmarks" in a multi-operation
transaction using the SAVEPOINT statement - so your application can respond
to an exception by rolling back to a savepoint, rather than rolling back
the entire transaction. If you are using Fb 1.5, see the release notes for
documentation and examples.

Transaction "scope" is beginning-middle-end. You configure transactions
with isolation level, access mode and a lock resolution rule. If you want
to give a transaction exclusive access there are ways to get table locks at
various levels of exclusion.

The firebird-support list will help you if you have any more of these
questions. You are asking in the wrong list for information about the
basics of the RDBMS. This list is about IBObjects.

That said, there is a selection of docs at www.ibobjects.com/TechInfo.html,
that you can download, including a couple on the subject of transactions.

Helen