Fix ordering when requesting summary of block forgers

This commit is contained in:
catbref 2019-06-11 14:24:38 +01:00
parent 4f25fffbe9
commit ae6cf9fc32

View File

@ -180,9 +180,7 @@ public class HSQLDBBlockRepository implements BlockRepository {
@Override
public List<BlockForgerSummary> getBlockForgers(List<String> addresses, Integer limit, Integer offset, Boolean reverse) throws DataException {
String subquerySql = "SELECT generator, COUNT(signature) FROM Blocks GROUP BY generator ORDER BY COUNT(signature) ";
if (reverse != null && reverse)
subquerySql += " DESC";
String subquerySql = "SELECT generator, COUNT(signature) FROM Blocks GROUP BY generator";
String sql = "SELECT DISTINCT generator, n_blocks, forger, recipient FROM (" + subquerySql + ") AS Forgers (generator, n_blocks) "
+ " LEFT OUTER JOIN ProxyForgers ON proxy_public_key = generator ";
@ -196,6 +194,10 @@ public class HSQLDBBlockRepository implements BlockRepository {
addresses = Collections.emptyList();
}
sql += "ORDER BY n_blocks ";
if (reverse != null && reverse)
sql += "DESC ";
sql += HSQLDBRepository.limitOffsetSql(limit, offset);
List<BlockForgerSummary> summaries = new ArrayList<>();