Hi, многоуважаемый All!
То ли понедельник - день тяжёлый, то ли я туплю ...
Есть учётка, в ней деталировка документов вида
id bigint
doc_id bigint
card_id bigint
quantity numeric(15,3)
costs numeric(15,3)
.......
card_id - это ссылка на "карточку", а точнее id одной из строк
деталировки другого документа ....
Причём ссылки не 1 к 1 а многие к 1 ...
Схематично для id (Card_id)
1(-1)
/ \
/ \
2(1) 3(1)
/\ \
/ \ \
4(2) 5(2) 6(3)
Уровень глубины ссылок и к-ва разветвлений, теоретически неограничен ...
Пока, на вскидку, до 50 ссылок в глубину и до 150 разветвлений
С недавних пор откуда-то начали вылезать цыклические ссылки ...
Точнее я пока их не видел, но ощутил по зависанию ранее
работающего оч. шустро отчёта :(
Такое впечатление что деталировку с отсутствующей карточкой
Cards_id = -1 каким-то, непонятным мне обазом, перелинковали на
карточку которая есть "наследником" от онной ...
Если взять за пример приведеный рисунок у деталировки с ID=1
Card_ID присвоили значение скажем 5 ...
Пока это только предположение ...
Подскажите, пожалуйста как отследить подобную закольцованость ?
Т.е. задача не стоит отследить при вставке ссылку на самого себя
(эта задача реализованна и висит у меня на триггерах) вопрос как
выявить кольцо и вывести все ID деталировок кот. входят в это
кольцо ? Например: 1-2-5 ?
PS: Зарание благодаен за пинки в нужную сторону ...
С уважением,
Константин Григорьевич.
===============