K Есть задачка реализовать уделение ветки дерева.
AAV 1. Почитай статьи про деревья на www.ibase.ru.
Пасибо, оттуда все основные идеи и беруться :)
AAV 2. Логично при удалении родителя удалять всех его потомков. В противном
случае
AAV они (потомки) останутся без родителя, таким
Hello, Константин!
You wrote to Alexander A. Venikov on Fri, 7 Jul 2006 10:03:14 +0300:
К В моём случае низя на тригер вешать :(
К1. на тригере висит сохранение протокола изменений
К (там и так до чёртиков ...)
Аргумент никакой. В курсе, что триггеров на одно действие
Привет.
К3. не помню чего ещё, помню у меня при удалении
К в тригерах какой-то рекурсивно зацикливающийся глюк
К происходил который SS вешеал намертво :)
К (правда я теперь на CS, но уж больно повторять не хотся)
Опять же аргумент никакой. С глюком
Hi Мадорский Г.В. триггера ставить on delete cascade - все отрабатывало на
ура. В результате
на этом и остановился, а в триггере запретил удалять корневой узел. Ну и на
клиенте сто раз спрашивал и пердупреждал ползателя перед удалением ветки...
Люди ну нафига удалять? НУ поставле флаг
Hello, Evgeny!
You wrote on Fri, 7 Jul 2006 12:17:59 +0400:
EP Люди ну нафига удалять? НУ поставле флаг is_deleted
Ну да, так и делалось (здесь триггер BU), но админу можно и удалять (триггер
BD).
EP и фетчить по is_deleted is null
скорее не фетчить, а селектить :)
Удач
--
Alexander A.
Hello, Мадорский!
You wrote on Fri, 7 Jul 2006 11:47:02 +0400:
МГ Смутно вспоминаю, что еще на 5.6 ваял какое-то огромное дерево.
Я с IB начал свое знакомство с версии 6.0. Все было нормально. Правда, не было
деревьев сильно разросшихся (большая глубина рекурсии отсутствовала и
потомков не
Люди ну нафига удалять?
СОГЛАСЕН!
НУ поставле флаг is_deleted и фетчить по is_deleted is null
у меня проще - есть папка Корзина
перемещаю в нее.
можно целую ветку.
--
С уважением
Алексей Абрамов
With b/r. Evgeny Putilin.
--~--~-~--~~~---~--~~
Люди ну нафига удалять? НУ поставле флаг is_deleted и фетчить по
is_deleted is null
А черт его знает. Я как-то в отношении деревянных структур такую схему не
применял. Наверное там какие-нибудь заморочки могут быть. Типа узел удалили,
предка переименовали и переместили куда нибудь...
AAV Аргумент никакой. В курсе, что триггеров на одно действие можно сделать
много?
AAV Кляуза POSITION в CREATE TRIGGER для чего?
Сории, не прав, не подумал - исправлюсь :)
К2. Не всегда надо удалять все входящие ветки
AAV Определи формально это не всегда. Кто в случае не всегда
Hi [EMAIL PROTECTED] !
lG одной записи обьекта может быть несколько других
lG обьектов
это не дерево, это - паутина !
-
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
на этом и остановился, а в триггере запретил удалять корневой узел. Ну и на
клиенте сто раз спрашивал и пердупреждал ползателя перед удалением ветки...
EP Люди ну нафига удалять? НУ поставле флаг is_deleted и фетчить по is_deleted
is null
А нафига держать если есть лог изменений/удалений
МГВ Смутно вспоминаю, что еще на 5.6 ваял какое-то огромное дерево.
МГВ Экспериментировал тогда с большими объемами данных. Сначала сделал удаление
МГВ в триггерах всех потомков. При попытке удалить самую верхнюю запись
МГВ получал что-то типа To many concurrent eхeсutions... В FB ворде как
Hi Константин
на этом и остановился, а в триггере запретил удалять корневой узел. Ну и на
клиенте сто раз спрашивал и пердупреждал ползателя перед удалением ветки...
EP Люди ну нафига удалять? НУ поставле флаг is_deleted и фетчить по
is_deleted is null
А нафига держать если есть лог
lG одной записи обьекта может быть несколько других
lG обьектов
KB это не дерево, это - паутина !
Ну если подумать ... ТО - может быть ...
Но термина паутина я как-то не встречал,
поэтому и применил занкомую терминологию ... :)
С уважением,
Константин Григорьевич.
===
Если
14 matches
Mail list logo