Показать сообщение отдельно
Старый 25.11.2003, 18:47   #12  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
Блокировка быстро поднимется с записей до страниц, а со страниц до всей таблицы
Поэтому хоть так, хоть так... вероятность будет одинакова.
Для того чтобы заблокировать оборотку (которая сама ничего не блокирует) при работе по InventSum достаточно 1 новой (измененной) проводки (не таблицы и не страницы), а для остановки расчета по историческим данным нужно блокировать весь InventTrans, что само по себе есть ЧП.

Цитата:
При создании новой проводки, Аксапта начинает транзакцию. При записи проводки, обновляется inventSum. Если inventSum заблокирован, то запись проводки не будет выполнена из-за деадлока
Ага, только вот оборотка ничего не пишет в inventSum и InventTrans, а значит и не блокирует, а значит и не может быть речи о deadlock-е.
Оборотка считает inventSum до начала транзакции по созданию новой проводки и посчитает новую проводку после завершения транзакции.... и получит лажу

От doInsert и doUpdate на inventTrans отказались оч.давно