Subject Re: [firebird-support] Re: generate report for POS
Author Ann W. Harrison
Adam wrote:
>> SNAPSHOT or versoning isolation levels are not mentioned in ODBC.

Right. That's because the SQL committee had a limited view of
concurrency control - they recognized and codified the behaviors
of locking systems. Systems that rely on multiple versions of
records for concurrency control have different behaviors that
don't map into the locking artifacts.
> SNAPSHOT/CONCURRENCY = Repeatable read

Sigh. Actually, as defined by the SQL Standard, repeatable read
allows phantoms - it's the behavior of a locking system that locks
records for read and write, but doesn't lock predicates. Thus
if you select the count of all correspondents from Brazil once in
a transaction, you might get 50. If you select again, in the same
repeatable read transaction, you might get 56 because six were
added. In a Firebird Snapshot/Concurrency mode transaction, you
will get the same number every time - "repeatable" really means
repeatable in Firebird.