Hello, Дмитрий!
Качановский Дмитрий wrote:
тогда перечитай еще пару-тройку раз.
длинновата для мантры :)
я документацию про транзакции читал 5-7 раз.
и ты не переломишься. тем более, что на русском все разжевано.
каша говоришь... хорошо, тогда вот еще вопрос
вот цитата из статьи про транзакции:
примечание: кроме транзакций атомарным считается также и выполнение
операторов. Например SELECT в режиме read committed видит только те записи,
которые были committed другими транзакциями или изменены текущей на момент
своего старта (т.е. execute). Последующие операции выборки записей (fetch)
не будут видеть новые committed записи. Для того, чтобы их увидеть, нужно
перевыполнить запрос.
-- конец цитаты --
правильно ли я понимаю, что независимо от параметра
rec_version/no_rec_version я получу ВСЕ записи в том виде в каком они были
на момент старта оператора.
нет. это для snapshot ты получишь. для read_committed ты прочитаешь
все committed на момент выборки конкретной записи.ю
правильно ли я понимаю, что если пока я буду получать первые записи
последние будут изменены в других тразакциях (которые к этому моменту еще не
будут подтверждены/отменены) я получу выборку в полном объеме и без задержек
(wait/no_wait)
бред какой то.
правильно ли я понимаю, что update, выбирая поштучно записи для модификации
не гарантирует, что выборка будет получена в полном объеме и в том виде в
каком они были на старте оператора при тех же параметрах тразакций что и
раньше.
для snapshot - гарантирует.
read_committed это read_committed, если ты не понимаешь этого слова.
При чтении конкретной записи в read_committed читается самая последняя
committed версия.
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34