Показать сообщение отдельно
Старый 17.05.2006, 18:41   #25  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от Logger
Ну я же написал в самом начале. :-(
Работа с разными строчками идет в одной транзакции, а заказы - в разных обрабатываются с разных рабочих мест, но одновременно

Ну смотрите :

заказ 1
Строка 1 Номенклатура1
Строка 2 Номенклатура2

заказ 2
Строка 1 Номенклатура2
Строка 2 Номенклатура1

С одного рабочего места начинается транзакция, которая перебирает строки заказа1
обновила строку с номенклатурой1 и на соответсвующей InventSum повесила блокировку, так что другая транзакция не сможет получить её forUpdate ( на чтение прочитает, а forUpdate - фиг)
Ну и что???
Смените Вы сортировку, что от этого изменится-то?? Не понимаю...
заказ 1
Строка 1 Номенклатура1
Строка 2 Номенклатура2
Строка 3 Номенклатура3

заказ 2
Строка 3 Номенклатура3
Строка 2 Номенклатура4
Строка 1 Номенклатура5

заказ 3
Строка 3 Номенклатура2
Строка 2 Номенклатура3
Строка 1 Номенклатура4

?????
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/