diff --git a/internal/models/problem.go b/internal/models/problem.go index aad030d..930aa58 100644 --- a/internal/models/problem.go +++ b/internal/models/problem.go @@ -32,7 +32,6 @@ type ProblemsListItem struct { TimeLimit int32 `db:"time_limit"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` - SolvedCount int32 `db:"solved_count"` } type ProblemsList struct { diff --git a/internal/tester/delivery/rest/handlers.go b/internal/tester/delivery/rest/handlers.go index cd5bbb3..7df9adc 100644 --- a/internal/tester/delivery/rest/handlers.go +++ b/internal/tester/delivery/rest/handlers.go @@ -467,7 +467,6 @@ func PLI2PLI(p models.ProblemsListItem) testerv1.ProblemsListItem { TimeLimit: p.TimeLimit, CreatedAt: p.CreatedAt, UpdatedAt: p.UpdatedAt, - SolvedCount: p.SolvedCount, } } diff --git a/internal/tester/repository/pg_problems_repository.go b/internal/tester/repository/pg_problems_repository.go index fa007da..a5dc3c1 100644 --- a/internal/tester/repository/pg_problems_repository.go +++ b/internal/tester/repository/pg_problems_repository.go @@ -82,21 +82,9 @@ func (r *ProblemRepository) DeleteProblem(ctx context.Context, q tester.Querier, } const ( - ListProblemsQuery = ` - SELECT - p.id,p.title,p.memory_limit,p.time_limit,p.created_at,p.updated_at, - COALESCE(solved_count, 0) AS solved_count - FROM problems p - LEFT JOIN ( - SELECT - t.problem_id, - COUNT(DISTINCT s.participant_id) AS solved_count - FROM solutions s - JOIN tasks t ON s.task_id = t.id - WHERE s.state = 5 - GROUP BY t.problem_id - ) sol ON p.id = sol.problem_id - LIMIT ? OFFSET ?` + ListProblemsQuery = `SELECT id, title, time_limit, memory_limit, created_at, updated_at +FROM problems +LIMIT ? OFFSET ?` CountProblemsQuery = "SELECT COUNT(*) FROM problems" )