On Fri, 27 Sep 2002 02:02:49 +0900
I wrote <[EMAIL PROTECTED]> wrote:


> On Sat, 07 Sep 2002 10:21:21 -0700
> Joe Conway <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] so that your
> message can get through to the mailing list cleanly



Regards,
Masaru Sugawara



---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to