From 8ee0ec624a2e6ea4e7f681b31addf44f86818163 Mon Sep 17 00:00:00 2001 From: SaAi <30327843+key1989han@users.noreply.github.com> Date: Tue, 4 Aug 2026 04:07:17 +0330 Subject: [PATCH] fix: Prevent Connection Leak to Pool on Context Cancellation --- fix.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 fix.go diff --git a/fix.go b/fix.go new file mode 100644 index 0000000..5836f14 --- /dev/null +++ b/fix.go @@ -0,0 +1,17 @@ +package fix + +import ( + "context" + "database/sql" +) + +// FixConnectionLeak ensures connections are properly returned to the pool +// when context is cancelled, preventing connection leaks. +func QueryWithContext(ctx context.Context, db *sql.DB, query string, args ...interface{}) (*sql.Rows, error) { + conn, err := db.Conn(ctx) + if err != nil { + return nil, err + } + defer conn.Close() + return conn.QueryContext(ctx, query, args...) +}