Index: openacs-4/packages/bookmarks/www/tree-dynamic-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookmarks/www/tree-dynamic-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/bookmarks/www/tree-dynamic-postgresql.xql 8 Sep 2001 22:09:46 -0000 1.3 +++ openacs-4/packages/bookmarks/www/tree-dynamic-postgresql.xql 8 Dec 2001 01:17:59 -0000 1.4 @@ -10,31 +10,23 @@ last_checked_date, b.parent_id, complete_url, b.folder_p from ( - select - bookmark_id, url_id, local_title, folder_p, - parent_id, owner_id, tree_sortkey from bm_bookmarks - where tree_sortkey like - ( - select tree_sortkey || '%' - from bm_bookmarks - where bookmark_id = :root_id - ) - order by tree_sortkey + select bm.bookmark_id, bm.url_id, bm.local_title, bm.folder_p, + bm.parent_id, bm.owner_id, bm.tree_sortkey + from bm_bookmarks bm, bm_bookmarks bm2 + where bm.tree_sortkey between bm2.tree_sortkey and tree_right(bm2.tree_sortkey) + and bm2.bookmark_id = :root_id ) b left join bm_urls using (url_id) where exists ( - select 1 from bm_bookmarks - where tree_sortkey like - ( - select tree_sortkey || '%' - from bm_bookmarks - where bookmark_id = b.bookmark_id - ) + select 1 from bm_bookmarks bm, bm_bookmarks bm2 + where bm.tree_sortkey between bm2.tree_sortkey and tree_right(bm2.tree_sortkey) + and bm2.bookmark_id = b.bookmark_id + ) and acs_permission__permission_p(bookmark_id, :user_id, 'read') = 't' ) and b.bookmark_id <> :root_id -order by tree_sortkey +order by b.tree_sortkey