...
1 package pgx
2
3 import (
4 "context"
5
6 "github.com/jackc/pgx/v5/pgconn"
7 )
8
9
10 type QueryTracer interface {
11
12
13 TraceQueryStart(ctx context.Context, conn *Conn, data TraceQueryStartData) context.Context
14
15 TraceQueryEnd(ctx context.Context, conn *Conn, data TraceQueryEndData)
16 }
17
18 type TraceQueryStartData struct {
19 SQL string
20 Args []any
21 }
22
23 type TraceQueryEndData struct {
24 CommandTag pgconn.CommandTag
25 Err error
26 }
27
28
29 type BatchTracer interface {
30
31
32 TraceBatchStart(ctx context.Context, conn *Conn, data TraceBatchStartData) context.Context
33
34 TraceBatchQuery(ctx context.Context, conn *Conn, data TraceBatchQueryData)
35 TraceBatchEnd(ctx context.Context, conn *Conn, data TraceBatchEndData)
36 }
37
38 type TraceBatchStartData struct {
39 Batch *Batch
40 }
41
42 type TraceBatchQueryData struct {
43 SQL string
44 Args []any
45 CommandTag pgconn.CommandTag
46 Err error
47 }
48
49 type TraceBatchEndData struct {
50 Err error
51 }
52
53
54 type CopyFromTracer interface {
55
56
57 TraceCopyFromStart(ctx context.Context, conn *Conn, data TraceCopyFromStartData) context.Context
58
59 TraceCopyFromEnd(ctx context.Context, conn *Conn, data TraceCopyFromEndData)
60 }
61
62 type TraceCopyFromStartData struct {
63 TableName Identifier
64 ColumnNames []string
65 }
66
67 type TraceCopyFromEndData struct {
68 CommandTag pgconn.CommandTag
69 Err error
70 }
71
72
73 type PrepareTracer interface {
74
75
76 TracePrepareStart(ctx context.Context, conn *Conn, data TracePrepareStartData) context.Context
77
78 TracePrepareEnd(ctx context.Context, conn *Conn, data TracePrepareEndData)
79 }
80
81 type TracePrepareStartData struct {
82 Name string
83 SQL string
84 }
85
86 type TracePrepareEndData struct {
87 AlreadyPrepared bool
88 Err error
89 }
90
91
92 type ConnectTracer interface {
93
94
95 TraceConnectStart(ctx context.Context, data TraceConnectStartData) context.Context
96
97 TraceConnectEnd(ctx context.Context, data TraceConnectEndData)
98 }
99
100 type TraceConnectStartData struct {
101 ConnConfig *ConnConfig
102 }
103
104 type TraceConnectEndData struct {
105 Conn *Conn
106 Err error
107 }
108
View as plain text