Index: openacs-4/packages/bookmarks/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookmarks/www/index-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/bookmarks/www/index-postgresql.xql 2 Jun 2001 07:33:06 -0000 1.1 +++ openacs-4/packages/bookmarks/www/index-postgresql.xql 5 Jun 2001 01:14:35 -0000 1.2 @@ -24,30 +24,49 @@ coalesce(delete_view.object_id,0) as delete_p, b.lev as indentation $private_select - -from bm_urls u, -(select $index_order bookmark_id, url_id, local_title, folder_p, - tree_level(tree_sortkey) lev, parent_id, 999 ord_num -from bm_bookmarks -where tree_sortkey like -( - select tree_sortkey || ''%'' +from +bm_in_closed_p cross join +((( bm_urls u right join ( + select $index_order bookmark_id, url_id, local_title, folder_p, + tree_level(tree_sortkey) as lev, parent_id, 999 as ord_num from bm_bookmarks - where bookmark_id = :root_folder_id -) -order by tree_sortkey) b left join u on (url_id), -bm_in_closed_p, -(select object_id from acs_object_party_privilege_map - where party_id in (:browsing_user_id, -1) and privilege = 'admin') admin_view right join b -on (admin_view.object_id=b.bookmark_id), -(select object_id from acs_object_party_privilege_map - where party_id in (:browsing_user_id, -1) and privilege = 'delete') delete_view right join b -on (delete_view.object_id = b.bookmark_id) -where -bm_in_closed_p.bookmark_id = b.bookmark_id + where tree_sortkey like + ( + select tree_sortkey || '%' + from bm_bookmarks + where bookmark_id = :root_folder_id + ) + order by tree_sortkey +) +b on (u.url_id=b.url_id)) left join +( + select object_id from acs_object_party_privilege_map + where party_id in (:browsing_user_id, -1) and privilege = 'admin' +) admin_view on (admin_view.object_id=b.bookmark_id)) left join +( + select object_id from acs_object_party_privilege_map + where party_id in (:browsing_user_id, -1) and privilege = 'delete' +) delete_view on (delete_view.object_id = b.bookmark_id)) +where bm_in_closed_p.bookmark_id = b.bookmark_id and bm_in_closed_p.in_closed_p = 'f' and bm_in_closed_p.in_closed_p_id = :in_closed_p_id -and exists (select 1 from bm_bookmarks where exists (select 1 from acs_object_party_privilege_map where object_id = bookmark_id and party_id in (:browsing_user_id, -1) and privilege = 'read') start with bookmark_id = b.bookmark_id connect by prior bookmark_id = parent_id) +and exists +( + select 1 from bm_bookmarks where exists + ( + select 1 from acs_object_party_privilege_map + where object_id = bookmark_id and party_id in + (:browsing_user_id, -1) + and privilege = 'read' + and tree_sortkey like + ( + select tree_sortkey || '%' + from bm_bookmarks + where bookmark_id = '2249' + ) + order by tree_sortkey + ) +) and b.bookmark_id <> :root_folder_id order by ord_num