From 0691f10a938e62b6c903ba70f78221d43cf4fe9e Mon Sep 17 00:00:00 2001 From: Yash Goswami Date: Fri, 17 Jul 2026 18:21:45 +0530 Subject: [PATCH 1/2] Fix case-sensitive limit offset removal in count query --- .../core/service/database/DatabaseSpecificSQLGenerator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java index 9d66e68216a..1b5869155a1 100644 --- a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java +++ b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java @@ -106,7 +106,9 @@ public String countLastExecutedQueryResult(@NonNull String sql) { public String countQueryResult(@NonNull String sql) { // Needs to remove the limit and offset - sql = sql.replaceAll("LIMIT \\d+", "").replaceAll("OFFSET \\d+", "").trim(); + sql = sql.replaceAll("(?i)LIMIT\\s+\\d+", "") + .replaceAll("(?i)OFFSET\\s+\\d+", "") + .trim(); return format("SELECT COUNT(*) FROM (%s) AS temp", sql); } From 3c568cb9d07511a4d64f640c8365c463fd88494f Mon Sep 17 00:00:00 2001 From: Yash Goswami Date: Fri, 17 Jul 2026 19:31:41 +0530 Subject: [PATCH 2/2] Apply spotless formatting --- .../core/service/database/DatabaseSpecificSQLGenerator.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java index 1b5869155a1..468b42e376e 100644 --- a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java +++ b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/DatabaseSpecificSQLGenerator.java @@ -106,9 +106,7 @@ public String countLastExecutedQueryResult(@NonNull String sql) { public String countQueryResult(@NonNull String sql) { // Needs to remove the limit and offset - sql = sql.replaceAll("(?i)LIMIT\\s+\\d+", "") - .replaceAll("(?i)OFFSET\\s+\\d+", "") - .trim(); + sql = sql.replaceAll("(?i)LIMIT\\s+\\d+", "").replaceAll("(?i)OFFSET\\s+\\d+", "").trim(); return format("SELECT COUNT(*) FROM (%s) AS temp", sql); }