Forum OpenACS Q&A: Response to connect by patch?

Collapse
Posted by Dan Wickstrom on
The connect by as implemented in openacs would probably be quite slow in comparison.  Not only does using functions slow it down, but the functions use recursion to walk the tree structure.  So for a deeply nested tree, you are doing multiple queries for each entry in the table.

I've recently been looking at Celko's book titled "Sql for Smarties".  In his book he outlines a method refered to as the "visitor representation of trees".  The method seems very promising, and would provide performance roughly equivalent to oracle's connect by statement.  When we start the 4.0 porting, I plan on using this method for porting any connect-by statements that I encounter.  I've been meaning to try this method out on the current file-storage module, but I haven't had the time.