> Вообщем ясно, что дело тёмное. То глубокие деревья, то оказывается что > не деревья, а список с манией величия и стремлением стать деревом секвойя...
Это двоичное несбалансированное дерево, местами считающее себя списком. ;) > Правду говорят местные аксакалы, дело в консерватории! ;) Честно говоря, задолбали уже <<консерваторией>>. Не стоит считать всех глупее себя. Если решили делать так, а не иначе, значит это чем-то обусловлено. Кроме того я написал, что ранее эта проблемма решалась в UDF. Страшный костыль и ликает в селективных процедурах, но работает, по сравнению со списками на строчках или хранением промежуточных данных в таблице, на порядок быстрее. Проблема утечки памяти отчасти решается в FBCS 2.1 тригеррами БД. stack = newStack(CURRENT_TRANSACTION) on commit or rollback freeStacks(CURRENT_TRANSACTION) Но переписывать UDF мне не очень хочется, хочется вернуться обратно к рекурсии, тем более, что появился WITH RECURSIVE. Такое решение, возможно, тоже временное, до появления нормального процедурного языка. Но на данный момент оно полность решит проблему малой кровью и с приемлемой производительностью.