--
-- bookmark__update_in_closed_p_all_users/2
--
create or replace function bookmark__update_in_closed_p_all_users(
  p_bookmark_id integer,
  p_new_parent_id integer
) returns int4 as $$

DECLARE
    c_viewing_in_closed_p_ids RECORD;

BEGIN
    FOR c_viewing_in_closed_p_ids IN
    select distinct in_closed_p_id
    from bm_in_closed_p
    where bookmark_id = (select bookmark_id from bm_bookmarks
                 where bookmark_id = p_bookmark_id)
    LOOP
        -- Update the in_closed_p status for this user/session for all bookmarks
        -- under the folder
        perform bookmark__update_in_closed_p_one_user (p_bookmark_id, c_viewing_in_closed_p_ids.in_closed_p_id);
    END LOOP;
    RETURN 0;
END;
$$ language plpgsql;