-- -- bookmark__get_root_folder/2 -- create or replace function bookmark__get_root_folder( p_package_id integer, p_user_id integer ) returns int4 as $$ DECLARE v_folder_id bm_bookmarks.bookmark_id%TYPE; v_count integer; BEGIN SELECT count(*) INTO v_count FROM bm_bookmarks WHERE parent_id = p_package_id AND owner_id = p_user_id; IF v_count > 0 THEN SELECT bookmark_id INTO v_folder_id FROM bm_bookmarks WHERE parent_id = p_package_id AND owner_id = p_user_id; ELSE -- must be a new instance. Gotta create a new root folder v_folder_id := bookmark__new_root_folder (p_package_id, p_user_id); END IF; RETURN v_folder_id; END; $$ language plpgsql;