![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://www.postgresql.org/docs/9.1/static/transaction-iso.html
http://www.ibase.ru/devinfo/ibtrans.htm
Repeatable Read в Postgresql и Snapshot в Firebird почти эквивалентны. За одним исключением: в Postgresql Repeatable Read может вызывать ошибки конфликта транзакций, на что я вчера и наткнулся:
"Applications using this level must be prepared to retry transactions due to serialization failures."
В Firebird такого не наблюдается.
Далее, уровни изоляции, которые выставляют ADO.NET драйвера для дотнетовских констант - тоже отличаются.
У Firebird .NET провайдера IsolationLevel.RepeatableRead и IsolationLevel.Snapshot ссылаются на константу Concurrency (т.е. REPEATABLE READ), а IsolationLevel.Serializable ссылается на Consistency, т.е. SERIALIZABLE.
У NPGSQL провайдера IsolationLevel.RepeatableRead ссылается на REPEATABLE READ, а IsolationLevel.Snapshot и IsolationLevel.Serializable ссылается на SERIALIZABLE.
Такое ощущение, что это осталось с времен до 9.1 версии, где Serializable от Repeatable Read не отличался, судя по документации.
http://www.ibase.ru/devinfo/ibtrans.htm
Repeatable Read в Postgresql и Snapshot в Firebird почти эквивалентны. За одним исключением: в Postgresql Repeatable Read может вызывать ошибки конфликта транзакций, на что я вчера и наткнулся:
"Applications using this level must be prepared to retry transactions due to serialization failures."
В Firebird такого не наблюдается.
Далее, уровни изоляции, которые выставляют ADO.NET драйвера для дотнетовских констант - тоже отличаются.
У Firebird .NET провайдера IsolationLevel.RepeatableRead и IsolationLevel.Snapshot ссылаются на константу Concurrency (т.е. REPEATABLE READ), а IsolationLevel.Serializable ссылается на Consistency, т.е. SERIALIZABLE.
У NPGSQL провайдера IsolationLevel.RepeatableRead ссылается на REPEATABLE READ, а IsolationLevel.Snapshot и IsolationLevel.Serializable ссылается на SERIALIZABLE.
Такое ощущение, что это осталось с времен до 9.1 версии, где Serializable от Repeatable Read не отличался, судя по документации.
no subject
Date: 2013-04-08 10:07 am (UTC)no subject
Date: 2013-04-08 10:21 am (UTC)Чаще всего я использую read committed (для ввода данных) и snapshot (repeatable read без фантомов) - для отчетов
no subject
Date: 2013-04-10 10:21 am (UTC)А потом только ходи скифа травить, пока в абьюзе разберутся, сто лет пройдет.
no subject
Date: 2013-04-10 10:38 am (UTC)no subject
Date: 2013-04-10 10:59 am (UTC)no subject
Date: 2013-04-10 10:38 am (UTC)