Re: Глубина рекурсии

2008-01-28 Thread Dmitry Yemanov
Cattus Nocturnus wrote: Процедур, запросов (?). Это два разных лимита. Судя по цифре 1024, ты говоришь о WITH RECURSIVE. Stack overflow ты обрабатывать как собрался? Да в общем-то никак. А прÐ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Неплохо было бы уточнить, рекурсии чего именно. Процедур, запросов (?). >> > Возможно ли при сборке из исходников изменить это значение и как это можно >> > сделать? > St

Re: Глубина рекурсии

2008-01-28 Thread Gene Feudorov
ереправить, если такая глубина рекурсии возникает. и работать быстрее будет :-) Фёдоров Евгений. ЗАО "Трест-М". Екатеринбург.

Re: Глубина рекурсии

2008-01-28 Thread dennis redozubov
Cattus Nocturnus пишет: Нужен обход дерева. Хм. Если, скажем, дерево будет хотя бы двоичным, но при этом полностью сбалансированным, то в худшем случае это 2^1000-1 (~1.07*10^301) зÐ

Re: Глубина рекурсии

2008-01-28 Thread Alexey Popov
Dmitry Yemanov wrote: Stack overflow ты обрабатывать как собрался? Так стэк то тоже можно увеличить... -- --- Home Page http://ok.novgorod.net/ap ---

Re: Глубина рекурсии

2008-01-28 Thread Dmitry Yemanov
Alexey Popov wrote: Так стэк то тоже можно увеличить... На линухе это не совсем тривиально, насколько я в курсе. -- Дмитрий Еманов

Re: Глубина рекурсии

2008-01-28 Thread Dmitry Yemanov
Cattus Nocturnus wrote: А для поцедур (там тоже, по-моему, что-то около 1000)? Там меньше. Причем лимит зависит от платформы. Нужен обход дерева. Высотой более 1024? Ты где такие

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Есть варианты обхода дерева без рекурсий. Начиная с 2.1 вообще одним > запросом. Подскажите как? Как минимум, требуется обход дерева с вычислением глубины каждого у

Re: Глубина рекурсии

2008-01-28 Thread dennis redozubov
Cattus Nocturnus пишет: Подскажите как? Как минимум, требуется обход дерева с вычислением глубины каждого узла относительно некоторого заданного узла. Может я неправиÐ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Хм. Если, скажем, дерево будет хотя бы двоичным, но при этом полностью > сбалансированным, то в худшем случае это 2^1000-1 (~1.07*10^301) > записей... Несбалансированное... > Нет,

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Может, автор только думает, что у него деревья, а на самом деле мухоморы... > эээ... то есть я хотел сказать, связный граф, ну там поиск кратчайшего пути > или типа того

Re: Глубина рекурсии

2008-01-28 Thread WildSery
On Mon, 28 Jan 2008 16:38:50 +0300, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Высотой более 1024? Ты где такие деревья находишь? Может, автор только думает, что у него деревья, а на самом деле мухоморÑ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Высотой более 1024? Ты где такие деревья находишь? Ну вот есть такие, и от них никуда не деться (некоторое время назад рекурсии хватало). Конечно, можно использовать в

Re: Глубина рекурсии

2008-01-28 Thread Evgeny Putililn
Hi Cattus Nocturnus пишет: И такое может быть. Но мне хотелось бы глубину хотя бы вдвое больше. Это возможно? Есть варианты обхода дерева без рекурсий. Начиная с 2.1 вообще од

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> >> Есть варианты обхода дерева без ___рекурсий___. Начиная с 2.1 вообще одним > >> запросом. > ключевое слово RECURSIVE, со стр 17 ___Ключевое слово RECURSIVE!!!___

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
On 28 янв, 18:14, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Поменяй константу MAX_RECURSE_LEVEL в исходниках, собери и тестируй. А для поцедур (там тоже, по-моему, что-то около 1000)? > Вдруг тебе повеÐ

Re: Глубина рекурсии

2008-01-28 Thread dennis redozubov
dennis redozubov пишет: длины. Для двоичного дерева это достаточно просто, для других - сложнее тем, что при такой глубине вложенности может просто не хватить varchar'а. ХотÑ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Может я неправильно понимаю, но почему бы не хранить номер уровня для > каждого узла, заполнять его при вставке триггером? Тогда глубина, > относительно заданного у

Re: Глубина рекурсии

2008-01-28 Thread Taras Kucher
Evgeny Putililn пишет: > Есть варианты обхода дерева без рекурсий. Начиная с 2.1 вообще одним запросом. А можно поподробнее, пожалуйста :) С уважением Тарас Кучер

Re: Глубина рекурсии

2008-01-28 Thread dennis redozubov
Cattus Nocturnus пишет: Узел от которого считается глубина множества подузлов задаётся динамически во время запроса, нет нкакой возможности угадать этот самый <<заданнÑ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Хотя нет, должно хватить. Если, скажем, ограничиться глубиной 2047, то > на идентификатор узла можно выделить 16 символов - сойдёт. :) > > С 32765-16*2047=13 уважением, :)) Если глу

Re: Глубина рекурсии

2008-01-28 Thread dennis redozubov
Cattus Nocturnus пишет: Если глубина 2047 это не значит, что общее количество узлов <= 2047. Если общее количество узлов = 2, то это, как минимум, 2 идентификаторов 10 длинной

Re: Глубина рекурсии

2008-01-28 Thread Dmitry Yemanov
Cattus Nocturnus wrote: Ну вот есть такие, и от них никуда не деться Тогда голосуй за подарок: http://tracker.firebirdsql.org/browse/CORE-1290 -- Дмитрий Еманов

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
> Вообщем ясно, что дело тёмное. То глубокие деревья, то оказывается что > не деревья, а список с манией величия и стремлением стать деревом секвойя... Это двоичное нÐ

Re: Глубина рекурсии

2008-01-28 Thread Boulitchev Aleksey
Правду говорят местные аксакалы, дело в консерватории! ;) Честно говоря, задолбали уже <<консерваторией>>. Не стоит считать всех глупее себя. Если решили делать таÐ

Re: Глубина рекурсии

2008-01-28 Thread Cattus Nocturnus
Да, очень полезная штука. Проголосовал.

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> Ты хоть намекни, что за задача такая, тогда все проникнутся. :-))) Подробности объяснять долго. Абстрактно, задача сводится к поиску расстояний в двоичном несбаланс

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> Если узел перемещается, то естественно уровень может меняться. В этом > случае в триггере на обновление узла вызываем обновление всех его > потомков в цикле, те в сÐ

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> Чем поможет наличие "нормального процедурного языка" в обработке дерева? Списками и множествами. > Дмитрий

Re: Глубина рекурсии

2008-01-29 Thread hvlad
On 29 янв, 11:45, Cattus Nocturnus wrote: > > MAX_CLONES, если я правильно помню. > > Спасибо! Уже собрал сейчас буду пробовать. CTE будет жрать намного меньше памяти и быстрее работать -- Хо

Re: Глубина рекурсии

2008-01-29 Thread Dmitry Yemanov
Cattus Nocturnus wrote: Условия задачи полны: сказать мне, как называется константа, которая ограничивает глубину рекурсивных вызовов процедур. ;)) MAX_CLONES, если я правильно

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> MAX_CLONES, если я правильно помню. Спасибо! Уже собрал сейчас буду пробовать.

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> CTE будет жрать намного меньше памяти и быстрее работать Да их тоже попробую.

Re: Глубина рекурсии

2008-01-29 Thread Cattus Nocturnus
> Это не плохо, но списки и множества имеют свои ограничения Например? При помощи списков можно <<раскрутить>> обход дерева в цикл, для моей задачи этого достаточно.

Re: Глубина рекурсии

2008-01-29 Thread Ded
Kovalenko Dmitry wrote: Нужен обход дерева. Высотой более 1024? Ты где такие деревья находишь? В Колумбии, думаю ... есть и покруче Это трава. -- Regards. Ded.

Re: Глубина рекурсии

2008-01-29 Thread WildSery
On Tue, 29 Jan 2008 17:03:14 +0300, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > А если коннект отвалился? А, точно. Классик развращает неокрепший ум. -- Сергей Смирнов.

Re: Глубина рекурсии

2008-01-29 Thread Dmitry Yemanov
WildSery wrote: Может, MyUDF.init_UDF() / MyUDF.get_data() / MyUDF.free_UDF() ? А если коннект отвалился? -- Дмитрий Еманов

Re: Глубина рекурсии

2008-01-29 Thread WildSery
On Tue, 29 Jan 2008 16:34:53 +0300, Dmitry Yemanov <[EMAIL PROTECTED]> wrote: > Угу. Если он выделяет память в UDF, то когда ее освобождать? В 2.1 можно в > триггере на дисконнект, а в других версиях? Може

Re: Глубина рекурсии

2008-01-29 Thread Dmitry Yemanov
WildSery wrote: Или я наивно заблуждаюсь? Угу. Если он выделяет память в UDF, то когда ее освобождать? В 2.1 можно в триггере на дисконнект, а в других версиях? -- Дмитрий ЕÐ

Re: Глубина рекурсии

2008-01-29 Thread WildSery
On Tue, 29 Jan 2008 13:43:59 +0300, Cattus Nocturnus <[EMAIL PROTECTED]> wrote: > Всё прекрасно работает. Спасибо, ещё раз! До встречи через пару лет, когда не станет хватать памяти? :) -- Сергей Смирно

Re: Глубина рекурсии

2008-01-29 Thread WildSery
On Tue, 29 Jan 2008 11:42:58 +0300, Cattus Nocturnus <[EMAIL PROTECTED]> wrote: > переделал всё с помощью UDF год жили, но происходит утечка > памяти в селективных процедурах. Ты уже раз пять повторил п

Re: Глубина рекурсии

2008-01-30 Thread Dmitry Yemanov
Oleg LOA wrote: В опциях линкера стек раздуть не забыть У него linux. -- Дмитрий Еманов

Re: Глубина рекурсии

2008-01-30 Thread Yurij
On Jan 29, 11:45 am, Cattus Nocturnus <[EMAIL PROTECTED]> wrote: > > MAX_CLONES, если я правильно помню. > Спасибо! Уже собрал сейчас буду пробовать. Меня посетила депрессивная мысль. Что вы будете де

Re: Глубина рекурсии

2008-01-30 Thread Cattus Nocturnus
> Меня посетила депрессивная мысль. Что вы будете делать со своей > сборкой Firebird, если у клиента либо окажется уже установленный > Firebird, либо после вас придет кто-нибÑ

Re: Глубина рекурсии

2008-01-30 Thread Cattus Nocturnus
> Тебя не устраивает скорость... > > За какое время сейчас выполняется эта процедура на текущих 15000 записей, в > среднем? Exec time 1 s 10 ms. Это реализация на UDF. На не загружен

Re: Глубина рекурсии

2008-01-30 Thread Slava Ekimov
AA> 1-е решение, простое и быстрое, без особых переделок структуры... Поддерживаю. Только мозги себе компостирует.

Re: Глубина рекурсии

2008-01-30 Thread dennis redozubov
dennis redozubov пишет: Я тут проверил на 1.5.5. Оказалось - те же самые вещи. Упираются в серверные MAX_CLONES = 750. Да, это на суперсервере. На классике, как я понял, 1000. "Эээх! Опят

Re: Глубина рекурсии

2008-01-30 Thread Cattus Nocturnus
> Выкачивай на клиента только ID, PARENT, все 15000. > (15000*sizeof(int)*2)=120kb > Вычисляй рекурсию на любом своем любимом языке программирования. Был такой вариант. Не хочу выносить

Re: Глубина рекурсии

2008-01-30 Thread dennis redozubov
Cattus Nocturnus пишет: Имей в виду, что рекурсия в СП и рекурсия в триггерах - разные вещи. А можно поподробнее или ссылочку? Я тут проверил на 1.5.5. Оказалось - те же самые

Re: Глубина рекурсии

2008-01-30 Thread PEAKTOP
Сдается мне, человек транспортную задачу дискретной математики на PSQL решить пытается ... И, кажись, таки ее решит. "Мы непобедимый народ !" (с) Задорнов М.

Re: Глубина рекурсии

2008-01-30 Thread Cattus Nocturnus
> Выделять в пуле транзакции/коннекта память, убивать гарантированно вместе с > транзакцией/коннектом. Каким образом? Я вижу только вариант с триггерами БД, в кото

Re: Глубина рекурсии

2008-01-31 Thread Oleg LOA
"Cattus Nocturnus" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >> Выделять в пуле транзакции/коннекта память, убивать гарантированно вместе с >> транзакцией/коннектом. > > Каким образоÐ

Re: Глубина рекурсии

2008-01-31 Thread Tonal
Oleg LOA пишет: Выделять в пуле транзакции/коннекта память, убивать гарантированно вместе с транзакцией/коннектом. Каким образом? Самым простым - сответствующей ре

Re: Глубина рекурсии

2008-01-31 Thread Мадорский Г . В .
"Cattus Nocturnus" <[EMAIL PROTECTED]> сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Выкачивай на клиента только ID, PARENT, все 15000. (15000*sizeof(int)*2)=120kb Вычисляй рекурсию на любом сÐ

Re: Глубина рекурсии

2008-01-31 Thread WildSery
On Thu, 31 Jan 2008 12:02:00 +0300, Tonal <[EMAIL PROTECTED]> wrote: > Т.е. добавить в ib_util.dll ещё два экспорта: ib_util_transact_malloc и > ib_util_connect_malloc, которые бы выделяли память в кучах для транзакции и > кÐ

Re: Глубина рекурсии

2008-01-31 Thread dada sasa
> "Мы непобедимый народ !" (с) Задорнов М. Ненавижу Задорнова М.!

Re: Глубина рекурсии

2008-01-31 Thread Ded
dada sasa wrote: Ненавижу Задорнова М.! Ты не поверишь, но мне пох, как ты к нему относишься. -- Regards. Ded.

Re: Глубина рекурсии

2008-01-31 Thread Valery Gruzdev
"Ded" сообщил/сообщила в новостях следующее: Высотой более 1024? Ты где такие деревья находишь? В Колумбии, думаю ... есть и покруче Это трава. Конопля - это дэрэво. Ð