CREATE OR REPLACE FUNCTION public.fn_professor_list_course_tutors(p_course_id integer)
 RETURNS TABLE(partner_id bigint, name text, surname text, email text, student_count bigint)
 LANGUAGE sql
 STABLE
AS $function$
  SELECT p.partner_id, p.name, p.surname, p.email, COUNT(sp.partner_id)::bigint
  FROM tutor_profiles tp
  JOIN partners p ON p.partner_id = tp.partner_id
  JOIN student_profiles sp ON sp.tutor_id = tp.partner_id AND sp.course_id = p_course_id
  GROUP BY p.partner_id, p.name, p.surname, p.email
  ORDER BY p.surname, p.name
$function$
;
