From a8fbf32a88bd0eb1120f5a945a16177514a7a3c1 Mon Sep 17 00:00:00 2001 From: catbref Date: Mon, 21 Sep 2020 16:29:34 +0100 Subject: [PATCH] Improve SQL prepared statement caching in HSQLDBAccountRepository.getEligibleLegacyQoraHolders() --- .../qortal/repository/hsqldb/HSQLDBAccountRepository.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java index 418a8493..0dca46eb 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java @@ -932,6 +932,8 @@ public class HSQLDBAccountRepository implements AccountRepository { @Override public List getEligibleLegacyQoraHolders(Integer blockHeight) throws DataException { StringBuilder sql = new StringBuilder(1024); + List bindParams = new ArrayList<>(); + sql.append("SELECT account, Qora.balance, QortFromQora.balance, final_qort_from_qora, final_block_height "); sql.append("FROM AccountBalances AS Qora "); sql.append("LEFT OUTER JOIN AccountQortFromQoraInfo USING (account) "); @@ -942,15 +944,15 @@ public class HSQLDBAccountRepository implements AccountRepository { sql.append(" AND (final_block_height IS NULL"); if (blockHeight != null) { - sql.append(" OR final_block_height >= "); - sql.append(blockHeight); + sql.append(" OR final_block_height >= ?"); + bindParams.add(blockHeight); } sql.append(")"); List eligibleLegacyQoraHolders = new ArrayList<>(); - try (ResultSet resultSet = this.repository.checkedExecute(sql.toString())) { + try (ResultSet resultSet = this.repository.checkedExecute(sql.toString(), bindParams.toArray())) { if (resultSet == null) return eligibleLegacyQoraHolders;