Что такое модели удаления фараона, бабушки и монархии?

Я просматривал документацию по Django CTE Trees и увидел текст:

Семантика множественного удаления: поддерживает шаблоны удаления "Фараон", "Бабушка" и "Монархия".

Это ничего не значило для меня, поэтому я немного погуглил - и ничего не нашел!

Кто-нибудь знает, что такое "шаблоны удаления фараона, бабушки и монархии"?

Оригинальный автор здесь: Я встретил эти термины в книге по общим табличным выражениям более десяти лет назад, но не могу вспомнить или найти эту книгу сегодня - я обновлю ее, если найду.

Режим фараона означает, что все потомки также будут удалены.

Режим бабушки означает, что родитель удаляемого узла становится новым родителем всех детей удаляемого узла (для этого требуется несколько корней, если удалению подвергается корневой узел). Порядок дочерних узлов сохраняется.

Режим монархии означает, что первый ребенок удаленного узла становится новым родителем остальных (если таковые имеются) детей удаленного узла (его бывших братьев и сестер). Что считать первым ребенком, зависит от упорядочивания CTE, как и во всех других операциях.

Вернуться на верх