Subject Re: [IBO] GSG057. Transaction Terminology/Optimistic and Pessimistic Locking
Author Helen Borrie
At 04:19 PM 13-10-02 +0930, Raymond Kennington wrote:
>What is the following sentence supposed to read and what is it supposed to
>mean?
>
>"InterBase's row-versioning architecture makes it unnecessary for clients
>don't do
>locking."

In ISAM databases, you have been used to your "client" application (a
misnomer) writing a lock record to the database's network lock file in
order to keep others from updating records that are in the purview of this
client. InterBase handles locking internally and isolates the work of one
client (transaction) from another by keeping each transaction's view
consistent throughout the transaction.

The degree of consistency depends on the isolation level of the
transactions. That, along with other transaction attributes, determine the
outcome of attempted updates ("posts") by different transactions that are
"engaging" the same data. IB clients don't do locking. It's
unnecessary. The reason it's unnecessary is that the row-versioning scheme
provides an entirely different mechanism from the client-locking mechanism
you are used to.

If you want to find out more about the row-versioning architecture, a.k.a.
"multi-generational architecture", or "MGA", pick up some of the worthy
documents from www.ibphoenix.com and/or ask your database-specific
questions on ib-support.

Helen