Re: About connectby() again

Поиск
Список
Период
Сортировка
От Masaru Sugawara
Тема Re: About connectby() again
Дата
Msg-id 20020927021954.2170.RK73@sea.plala.or.jp
обсуждение исходный текст
Ответ на About connectby() again  (Masaru Sugawara <rk73@sea.plala.or.jp>)
Список pgsql-hackers
On Fri, 27 Sep 2002 02:02:49 +0900
I wrote <rk73@sea.plala.or.jp> wrote:


> On Sat, 07 Sep 2002 10:21:21 -0700
> Joe Conway <mail@joeconway.com> wrote:
> 
> > I just sent in a patch using the ancestor check method. It turned out 
> > that the performance hit was pretty small on a moderate sized tree.
> > 
> > My test case was a 220000 record bill-of-material table. The tree built 
> > was 9 levels deep with about 3800 nodes. The performance hit was only 
> > about 1%.
> 
> 
> The previous patch fixed an infinite recursion bug in 
> contrib/tablefunc/tablefunc.c:connectby. But, other unmanageable error
> seems to occur even if a table has commonplace tree data(see below).
> 
> 
> I would think the patch, ancestor check, should be
> 
>   if (strstr(branch_delim || branchstr->data || branch_delim,
>                        branch_delim || current_key || branch_delim))
> 
> This is my image, not a real code. However, if branchstr->data includes
      ^^^^^^^^^^^^^^^^^^^^^^^^^                                                      keyid or parent_keyid
 

> branch_delim, my image will not be perfect.
> 
> 
> 
> 
> -- test connectby with int based hierarchy
> DROP TABLE connectby_tree;
> CREATE TABLE connectby_tree(keyid int, parent_keyid int);
> 
> INSERT INTO connectby_tree VALUES(11,NULL);
> INSERT INTO connectby_tree VALUES(10,11);
> INSERT INTO connectby_tree VALUES(111,11);
> INSERT INTO connectby_tree VALUES(1,111);
> 
> SELECT * FROM connectby('connectby_tree', 'keyid', 'parent_keyid', '11', 0, '-')
>    AS t(keyid int, parent_keyid int, level int, branch text)
> 
> ERROR:  infinite recursion detected
> 
> 
> 
> Regards,
> Masaru Sugawara
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly



Regards,
Masaru Sugawara




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Doug cNaught
Дата:
Сообщение: Re: [GENERAL] Performance while loading data and indexing
Следующее
От: "Marc G. Fournier"
Дата:
Сообщение: ignore