From 8bb4d77e54aadb78a2e29e8694125102eafd7944 Mon Sep 17 00:00:00 2001 From: Jeff Ortel Date: Wed, 9 Oct 2024 15:04:09 -0700 Subject: [PATCH] mutex released when needed. Signed-off-by: Jeff Ortel --- database/driver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/driver.go b/database/driver.go index e7ecb442..7d22ae6c 100644 --- a/database/driver.go +++ b/database/driver.go @@ -92,9 +92,9 @@ func (c *Conn) IsValid() (b bool) { // QueryContext execute a query with context. func (c *Conn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (r driver.Rows, err error) { - defer c.release() if c.needsMutex(query) { c.acquire() + defer c.release() } if p, cast := c.wrapped.(driver.QueryerContext); cast { r, err = p.QueryContext(ctx, query, args) @@ -104,9 +104,9 @@ func (c *Conn) QueryContext(ctx context.Context, query string, args []driver.Nam // ExecContext executes an SQL/DDL statement with context. func (c *Conn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (r driver.Result, err error) { - defer c.release() if c.needsMutex(query) { c.acquire() + defer c.release() } if p, cast := c.wrapped.(driver.ExecerContext); cast { r, err = p.ExecContext(ctx, query, args)