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: Зарание благодаен за пинки в нужную сторону ...
    
С уважением,
Константин Григорьевич.
===============


Reply via email to