Skip to content

Commit f8bf6e3

Browse files
authored
unhide optional interfaces for Conn wrapping (#18)
1 parent 55c4a66 commit f8bf6e3

File tree

4 files changed

+21
-16
lines changed

4 files changed

+21
-16
lines changed

driver.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,15 @@ import (
1313
"go.opencensus.io/trace"
1414
)
1515

16-
type connTx interface {
16+
type conn interface {
17+
driver.Pinger
18+
driver.Execer
19+
driver.ExecerContext
20+
driver.Queryer
21+
driver.QueryerContext
1722
driver.Conn
18-
driver.ConnBeginTx
1923
driver.ConnPrepareContext
24+
driver.ConnBeginTx
2025
}
2126

2227
var (
@@ -26,7 +31,7 @@ var (
2631

2732
// Compile time assertions
2833
_ driver.Driver = &ocDriver{}
29-
_ connTx = &ocConn{}
34+
_ conn = &ocConn{}
3035
_ driver.Result = &ocResult{}
3136
_ driver.Rows = &ocRows{}
3237
)
@@ -735,7 +740,7 @@ func setSpanStatus(span *trace.Span, err error) {
735740
status.Code = trace.StatusCodeDeadlineExceeded
736741
case sql.ErrNoRows:
737742
status.Code = trace.StatusCodeNotFound
738-
case sql.ErrTxDone, ErrConnDone:
743+
case sql.ErrTxDone, errConnDone:
739744
status.Code = trace.StatusCodeFailedPrecondition
740745
default:
741746
status.Code = trace.StatusCodeUnknown

driver_go1.10.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"database/sql/driver"
99
)
1010

11-
var ErrConnDone = sql.ErrConnDone
11+
var errConnDone = sql.ErrConnDone
1212

1313
// Compile time assertion
1414
var _ driver.DriverContext = &ocDriver{}
@@ -38,17 +38,17 @@ func wrapConn(parent driver.Conn, options TraceOptions) driver.Conn {
3838
return c
3939
case hasNameValueChecker && !hasSessionResetter:
4040
return struct {
41-
connTx
41+
conn
4242
driver.NamedValueChecker
4343
}{c, n}
4444
case !hasNameValueChecker && hasSessionResetter:
4545
return struct {
46-
connTx
46+
conn
4747
driver.SessionResetter
4848
}{c, s}
4949
case hasNameValueChecker && hasSessionResetter:
5050
return struct {
51-
connTx
51+
conn
5252
driver.NamedValueChecker
5353
driver.SessionResetter
5454
}{c, n, s}

driver_go1.8.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
// Dummy error for setSpanStatus (does exist as sql.ErrConnDone in 1.9+)
11-
var ErrConnDone = errors.New("database/sql: connection is already closed")
11+
var errConnDone = errors.New("database/sql: connection is already closed")
1212

1313
// ocDriver implements driver.Driver
1414
type ocDriver struct {

driver_go1.9.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"database/sql/driver"
88
)
99

10-
var ErrConnDone = sql.ErrConnDone
10+
var errConnDone = sql.ErrConnDone
1111

1212
// ocDriver implements driver.Driver
1313
type ocDriver struct {
@@ -19,18 +19,18 @@ func wrapDriver(d driver.Driver, o TraceOptions) driver.Driver {
1919
return ocDriver{parent: d, options: o}
2020
}
2121

22-
func wrapConn(c driver.Conn, options TraceOptions) driver.Conn {
22+
func wrapConn(parent driver.Conn, options TraceOptions) driver.Conn {
2323
var (
24-
n, hasNameValueChecker = c.(driver.NamedValueChecker)
24+
n, hasNameValueChecker = parent.(driver.NamedValueChecker)
2525
)
26-
conn := &ocConn{parent: c, options: options}
26+
c := &ocConn{parent: parent, options: options}
2727
if hasNameValueChecker {
2828
return struct {
29-
connTx
29+
conn
3030
driver.NamedValueChecker
31-
}{conn, n}
31+
}{c, n}
3232
}
33-
return conn
33+
return c
3434
}
3535

3636
func wrapStmt(stmt driver.Stmt, query string, options TraceOptions) driver.Stmt {

0 commit comments

Comments
 (0)