Skip to content

Commit

Permalink
remove ctx from release tracer
Browse files Browse the repository at this point in the history
  • Loading branch information
ngavinsir authored and jackc committed May 15, 2024
1 parent 659525c commit 169067a
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 12 deletions.
3 changes: 1 addition & 2 deletions pgxpool/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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' {
Expand Down
7 changes: 3 additions & 4 deletions pgxpool/pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand All @@ -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
}
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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()
}
Expand Down
3 changes: 1 addition & 2 deletions pgxpool/tracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
8 changes: 4 additions & 4 deletions pgxpool/tracer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
}
}

Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 169067a

Please sign in to comment.