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