- Use LEFT JOIN instead of INNER JOIN in GetRandomCoursesWithLimit so
courses without custom ranking entries (unrated) are included in results
- Use COALESCE(ranking.value, 0) to default unrated courses to score 0
- Move object filters from JOIN ON clause to WHERE clause
- Add input length validation to CTRPickUpCourseSearchObject (cap at 25)
- Remove unreachable sql.ErrNoRows check (Query never returns it)