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.5 -r1.6 --- openacs-4/packages/bookmarks/www/index-postgresql.xql 19 Jul 2001 15:15:26 -0000 1.5 +++ openacs-4/packages/bookmarks/www/index-postgresql.xql 12 Oct 2001 23:42:23 -0000 1.6 @@ -91,6 +91,40 @@ + + +select + b.bookmark_id, b.url_id, b.local_title as bookmark_title, + u.complete_url, u.last_live_date, u.last_checked_date, + b.folder_p, bm_in_closed_p.closed_p, + b.bookmark_id as admin_p, b.bookmark_id as delete_p, + b.lev as indentation + $private_select +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, tree_sortkey + from bm_bookmarks + where + tree_sortkey like ( + select tree_sortkey || '%' + from bm_bookmarks + where bookmark_id = :root_folder_id + ) + ) + b on (u.url_id=b.url_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 b.bookmark_id <> :root_folder_id +order by b.tree_sortkey + + Index: openacs-4/packages/bookmarks/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookmarks/www/index.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/bookmarks/www/index.tcl 7 Jun 2001 20:26:06 -0000 1.3 +++ openacs-4/packages/bookmarks/www/index.tcl 12 Oct 2001 23:42:23 -0000 1.4 @@ -105,14 +105,15 @@ } } -# We let the owner of the bookmarks see which bookmarks are private +# We let the owner of the bookmarks see which bookmarks are private, +# and use a MUCH less expensive query that doesn't hit permissions if { [string equal $browsing_user_id $viewed_user_id] } { set private_select [db_map private_select] +db_multirow bookmark my_bookmarks_select "" + } else { set private_select ", 'f' as private_p" -} - -db_multirow bookmark bookmarks_select "select b.bookmark_id, + db_multirow bookmark bookmarks_select "select b.bookmark_id, b.url_id, b.local_title as bookmark_title, u.complete_url, @@ -143,7 +144,10 @@ and b.bookmark_id = delete_view.object_id(+) order by ord_num" +} + + ad_return_template