diff --git a/pgxpool/conn.go b/pgxpool/conn.go index e46dc3f8b..38c90f3da 100644 --- a/pgxpool/conn.go +++ b/pgxpool/conn.go @@ -13,7 +13,6 @@ import ( type Conn struct { res *puddle.Resource[*connResource] p *Pool - ctx context.Context } // Release returns c to the pool it was acquired from. Once Release has been called, other methods must not be called. @@ -28,7 +27,7 @@ func (c *Conn) Release() { c.res = nil if c.p.releaseTracer != nil { - c.p.releaseTracer.TraceRelease(c.ctx, c.p, TraceReleaseData{Conn: conn}) + c.p.releaseTracer.TraceRelease(c.p, TraceReleaseData{Conn: conn}) } if conn.IsClosed() || conn.PgConn().IsBusy() || conn.PgConn().TxStatus() != 'I' { diff --git a/pgxpool/pool.go b/pgxpool/pool.go index ec004f782..fdcba7241 100644 --- a/pgxpool/pool.go +++ b/pgxpool/pool.go @@ -29,7 +29,7 @@ type connResource struct { maxAgeTime time.Time } -func (cr *connResource) getConn(ctx context.Context, p *Pool, res *puddle.Resource[*connResource]) *Conn { +func (cr *connResource) getConn(p *Pool, res *puddle.Resource[*connResource]) *Conn { if len(cr.conns) == 0 { cr.conns = make([]Conn, 128) } @@ -39,7 +39,6 @@ func (cr *connResource) getConn(ctx context.Context, p *Pool, res *puddle.Resour c.res = res c.p = p - c.ctx = ctx return c } @@ -539,7 +538,7 @@ func (p *Pool) Acquire(ctx context.Context) (c *Conn, err error) { } if p.beforeAcquire == nil || p.beforeAcquire(ctx, cr.conn) { - return cr.getConn(ctx, p, res), nil + return cr.getConn(p, res), nil } res.Destroy() @@ -567,7 +566,7 @@ func (p *Pool) AcquireAllIdle(ctx context.Context) []*Conn { for _, res := range resources { cr := res.Value() if p.beforeAcquire == nil || p.beforeAcquire(ctx, cr.conn) { - conns = append(conns, cr.getConn(ctx, p, res)) + conns = append(conns, cr.getConn(p, res)) } else { res.Destroy() } diff --git a/pgxpool/tracer.go b/pgxpool/tracer.go index cca0fa5b9..78b9d15a2 100644 --- a/pgxpool/tracer.go +++ b/pgxpool/tracer.go @@ -25,8 +25,7 @@ type TraceAcquireEndData struct { // ReleaseTracer traces Release. type ReleaseTracer interface { // TraceRelease is called at the beginning of Release. - // The passed context is coming from Acquire. - TraceRelease(ctx context.Context, pool *Pool, data TraceReleaseData) + TraceRelease(pool *Pool, data TraceReleaseData) } type TraceReleaseData struct { diff --git a/pgxpool/tracer_test.go b/pgxpool/tracer_test.go index 4cc77e7c6..46e3cd1f2 100644 --- a/pgxpool/tracer_test.go +++ b/pgxpool/tracer_test.go @@ -14,7 +14,7 @@ import ( type testTracer struct { traceAcquireStart func(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceAcquireStartData) context.Context traceAcquireEnd func(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceAcquireEndData) - traceRelease func(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceReleaseData) + traceRelease func(pool *pgxpool.Pool, data pgxpool.TraceReleaseData) } type ctxKey string @@ -32,9 +32,9 @@ func (tt *testTracer) TraceAcquireEnd(ctx context.Context, pool *pgxpool.Pool, d } } -func (tt *testTracer) TraceRelease(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceReleaseData) { +func (tt *testTracer) TraceRelease(pool *pgxpool.Pool, data pgxpool.TraceReleaseData) { if tt.traceRelease != nil { - tt.traceRelease(ctx, pool, data) + tt.traceRelease(pool, data) } } @@ -117,7 +117,7 @@ func TestTraceRelease(t *testing.T) { defer pool.Close() traceReleaseCalled := false - tracer.traceRelease = func(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceReleaseData) { + tracer.traceRelease = func(pool *pgxpool.Pool, data pgxpool.TraceReleaseData) { traceReleaseCalled = true require.NotNil(t, pool) require.NotNil(t, data.Conn)