Классика баз данных - статьи

вставка узла-фантома)


Предположим, что транзакция T1 намерена прочитать все атрибуты age, определяемые путевым выражением /doc/person//@age. В это же время другая транзакция T2 намерена вставить новый атрибут age: InsertInto(attribute age {'54'}, /doc/person/ child/person). При одновременном выполнении транзакций возможно появление узла-фантома age для T1. На рис. 7 мы демонстрируем, что XDGL запрещает вставку узла-фантома age транзакцией T2.

Рис. 7.Блокировки на схеме для примера 4



Содержание раздела