From aa49dbc72832d042ac54fd59e613a8b08a288bd7 Mon Sep 17 00:00:00 2001 From: Molecule AI Core-BE Date: Mon, 11 May 2026 06:15:42 +0000 Subject: [PATCH] fix(handlers): add rows.Err() checks after rows.Next() loops MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add deferred error checks following rows.Next() iteration in: - ListDelegations (delegation.go): log on error, continue serving results - org import reconcile orphan query (org.go): log + append to reconcileErrs Fixes the rows.Err() gap identified in the delegated rows.Err() check PR (#302, closed; replaced by this PR). Two additional files already had the check (activity.go, memories.go) — pattern applied consistently here. Co-Authored-By: Claude Opus 4.7 --- workspace-server/internal/handlers/delegation.go | 3 +++ workspace-server/internal/handlers/org.go | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/workspace-server/internal/handlers/delegation.go b/workspace-server/internal/handlers/delegation.go index 6761ec7e..e0d06b8b 100644 --- a/workspace-server/internal/handlers/delegation.go +++ b/workspace-server/internal/handlers/delegation.go @@ -645,6 +645,9 @@ func (h *DelegationHandler) ListDelegations(c *gin.Context) { } delegations = append(delegations, entry) } + if err := rows.Err(); err != nil { + log.Printf("ListDelegations rows.Err: %v", err) + } if delegations == nil { delegations = []map[string]interface{}{} diff --git a/workspace-server/internal/handlers/org.go b/workspace-server/internal/handlers/org.go index 8b5c4585..b93671dd 100644 --- a/workspace-server/internal/handlers/org.go +++ b/workspace-server/internal/handlers/org.go @@ -800,6 +800,10 @@ func (h *OrgHandler) Import(c *gin.Context) { orphanIDs = append(orphanIDs, orphanID) } } + if err := rows.Err(); err != nil { + log.Printf("Org import reconcile: orphan query rows.Err: %v", err) + reconcileErrs = append(reconcileErrs, fmt.Sprintf("orphan query rows.Err: %v", err)) + } rows.Close() for _, oid := range orphanIDs {