Subject Re: [ib-support] Lock or Versioning
Author Ivan Prenosil
From: "fesumus" <fesumus@...>
> IB works with Lock or only Record Versioning?
> It locks a record(or page) for update/delete?

Versioning.

Any update/delete statement can update only the _latest_ record version
(that is not in rollback state).
So, when you update/delete a row, IB will create new record version,
and untill you end your transaction (commit/rollback),
other users/transactions can't update/delete the same row
(because uncommitted changes are not visible to them).
So, effectively the row appears as to be locked -
it can't be modified by other transactions, but its previous
committed versions can be visible to other transactions
(unless they use "read committed no record_version" isolation level).

Ivan Prenosil
[ Looking for a job: InterBase - Firebird - Delphi - C - fulltext db - and more ... ]
Ivan.Prenosil@...
http://www.volny.cz/iprenosil/interbase