Fixed query for getting unhandled reports to behave well with abused reports

This commit is contained in:
Keir Nellyer 2016-08-19 15:46:59 +01:00
parent 2211e6c4ef
commit 5b685a3a86

View File

@ -72,13 +72,13 @@ public class ReportRepository
" ORDER BY `time` ASC;";
// TODO confirm working
private static final String GET_UNHANDLED_REPORTS = "SELECT reports.id FROM reports" +
" LEFT JOIN reportResults ON reports.id = reportResults.reportId" +
" LEFT JOIN reportHandlers ON reports.id = reportHandlers.reportId" +
" AND (reportHandlers.aborted IS FALSE" +
" AND reportHandlers.handlerId != ?)" +
" WHERE reportResults.reportId IS NULL" +
" AND reportHandlers.reportId IS NULL;";
private static final String GET_UNHANDLED_REPORTS = "SELECT reports.id FROM reports\n" +
" LEFT JOIN reportResults ON reports.id = reportResults.reportId\n" +
" LEFT JOIN reportHandlers ON reports.id = reportHandlers.reportId\n" +
"WHERE reportResults.reportId IS NULL\n" +
"GROUP BY reports.id\n" +
"HAVING SUM(IF(reportHandlers.handlerId != ?, 1, 0)) = COUNT(reportHandlers.handlerId)\n" +
" AND SUM(IF(reportHandlers.aborted IS TRUE, 1, 0)) = COUNT(reportHandlers.handlerId);";
private static final String GET_ONGOING_REPORT = "SELECT reports.id FROM reports" +
" LEFT JOIN reportResults ON reports.id = reportResults.reportId" +