From c6f130e116bd10080959b77ee51afbe23ee86578 Mon Sep 17 00:00:00 2001 From: Aditya Date: Thu, 21 May 2026 15:35:59 +0530 Subject: [PATCH] =?UTF-8?q?Fix=20BadSqlGrammarException=20on=20GET=20/clie?= =?UTF-8?q?nts=3Fstatus=3Dpending=20=E2=80=94=20missing=20SELECT=20column?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The second schema() builder used by the clients-list query had the JOIN left join m_client gc on gc.id = c.guardian_client_id and the SELECT c.guardian_client_id as guardianClientId but was missing gc.display_name as guardianClientDisplayName which the RowMapper still reads (rs.getString("guardianClientDisplayName")). Result: PSQLException "The column name guardianClientDisplayName was not found in this ResultSet" → BadSqlGrammarException → 500 on any client-list pull. The matching first builder (~line 327) had both columns correctly. Added the missing SELECT line to keep the pair consistent. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../portfolio/client/service/ClientReadPlatformServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java index 0e1dcb514..f53fd1cf9 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java @@ -718,6 +718,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService builder.append("c.nationality as nationality, "); builder.append("c.is_minor as isMinor, "); builder.append("c.guardian_client_id as guardianClientId, "); + builder.append("gc.display_name as guardianClientDisplayName, "); builder.append("c.guardian_relation as guardianRelation, "); builder.append("c.alternate_mobile_no as alternateMobileNo, "); builder.append("c.dip_verified as dipVerified, ");