palm mute wrote:
> C> Проблемы в том, что простое изменение
> C>одного узла в цикле может потребовать хранить в транзакции все узлы, на
> C>которые он ссылается.
> C>Я уже об этом писал: http://rsdn.ru/Forum/?mid=2209784Автор: Cyberax
Дата: 11.11.06
> После беглого осмотра ссылки я не понял, как она связана с транзакциями.
К примеру, у нас есть цепь объектов:
A->B->C->D- - ->A (замкнутая цепь)
Мы создаем транзакцию и меняем в ней объект B (обозначу его B*).
То есть с точки зрения клиента в этой транзакции у нас будет такая ситуация:
A->B*->C->D - - ->A
Но как это сделать так, чтобы клиенты вне транзакции видели старое
состояние? Если мы просто создадим B*, то у нас будет:
B*->C->D - - ->A
A->B---I
Надо как-то поменять ссылку с B на B* в A. Меняем:
A*->B*->C->D - - ->A
A-->B---I
Теперь точно так же придется поменять C и D. То есть мы склонируем весь
цикл.
Теперь понятнее?
Posted via RSDN NNTP Server 2.0