mirror of https://github.com/jackc/pgx.git
remove ctx from release tracer
parent
659525c961
commit
169067a364
|
@ -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' {
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue