Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
4b3ba3f76a | |||
38c192dbfd | |||
62f72197ba |
2
conn.go
2
conn.go
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"go.unistack.org/micro/v4/tracer"
|
||||
"go.unistack.org/micro/v3/tracer"
|
||||
)
|
||||
|
||||
var (
|
||||
|
4
go.mod
4
go.mod
@@ -1,5 +1,5 @@
|
||||
module go.unistack.org/micro-wrapper-sql/v4
|
||||
module go.unistack.org/micro-wrapper-sql/v3
|
||||
|
||||
go 1.19
|
||||
|
||||
require go.unistack.org/micro/v4 v4.0.3
|
||||
require go.unistack.org/micro/v3 v3.10.25
|
||||
|
4
go.sum
4
go.sum
@@ -1,2 +1,2 @@
|
||||
go.unistack.org/micro/v4 v4.0.3 h1:AFr21ua3IrkuxH26kNYVrs7Kpsrm+4aylE/PfjLdCWM=
|
||||
go.unistack.org/micro/v4 v4.0.3/go.mod h1:+wBa98rSf+mRXb/MuSVFPXtDrqN0k8rzPQiC8wRCwCo=
|
||||
go.unistack.org/micro/v3 v3.10.25 h1:A0epdZHOqjnXx103wwFhPKgmvVVbScvfbmn3HmHz1wE=
|
||||
go.unistack.org/micro/v3 v3.10.25/go.mod h1:ALkeXpqChYDjx8KPi7tz9mmIyOnob6nlNswsg8BnZjQ=
|
||||
|
@@ -5,9 +5,9 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"go.unistack.org/micro/v4/logger"
|
||||
"go.unistack.org/micro/v4/meter"
|
||||
"go.unistack.org/micro/v4/tracer"
|
||||
"go.unistack.org/micro/v3/logger"
|
||||
"go.unistack.org/micro/v3/meter"
|
||||
"go.unistack.org/micro/v3/tracer"
|
||||
)
|
||||
|
||||
var (
|
||||
|
2
stats.go
2
stats.go
@@ -1,4 +1,4 @@
|
||||
package wrapper // import "go.unistack.org/micro-wrapper-sql-1/v3"
|
||||
package wrapper // import "go.unistack.org/micro-wrapper-sql/v3"
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
5
stmt.go
5
stmt.go
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"go.unistack.org/micro/v4/tracer"
|
||||
"go.unistack.org/micro/v3/tracer"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -75,8 +75,7 @@ func (w *wrapperStmt) Exec(args []driver.Value) (driver.Result, error) {
|
||||
}
|
||||
labels := []string{labelMethod, "Exec"}
|
||||
ts := time.Now()
|
||||
// nolint:staticcheck
|
||||
res, err := w.stmt.Exec(args)
|
||||
res, err := w.stmt.Exec(args) // nolint:staticcheck
|
||||
td := time.Since(ts)
|
||||
te := td.Seconds()
|
||||
if err != nil {
|
||||
|
2
tx.go
2
tx.go
@@ -5,7 +5,7 @@ import (
|
||||
"database/sql/driver"
|
||||
"time"
|
||||
|
||||
"go.unistack.org/micro/v4/tracer"
|
||||
"go.unistack.org/micro/v3/tracer"
|
||||
)
|
||||
|
||||
var _ driver.Tx = (*wrapperTx)(nil)
|
||||
|
112
wrap.go
112
wrap.go
@@ -11,118 +11,6 @@ func wrapDriver(d driver.Driver, opts Options) driver.Driver {
|
||||
return struct{ driver.Driver }{&wrapperDriver{driver: d, opts: opts}}
|
||||
}
|
||||
|
||||
/*
|
||||
func wrapStmt(stmt driver.Stmt, query string, opts Options) driver.Stmt {
|
||||
var (
|
||||
_, hasExeCtx = stmt.(driver.StmtExecContext)
|
||||
_, hasQryCtx = stmt.(driver.StmtQueryContext)
|
||||
wc, hasColConv = stmt.(driver.ColumnConverter) //nolint:staticcheck
|
||||
wn, hasNamValChk = stmt.(driver.NamedValueChecker)
|
||||
)
|
||||
|
||||
ws := &wrapperStmt{stmt: stmt, query: query, opts: opts}
|
||||
switch {
|
||||
case !hasExeCtx && !hasQryCtx && !hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
}{ws}
|
||||
case !hasExeCtx && hasQryCtx && !hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtQueryContext
|
||||
}{ws, ws}
|
||||
case hasExeCtx && !hasQryCtx && !hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
}{ws, ws}
|
||||
case hasExeCtx && hasQryCtx && !hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.StmtQueryContext
|
||||
}{ws, ws, ws}
|
||||
case !hasExeCtx && !hasQryCtx && hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.ColumnConverter
|
||||
}{ws, wc}
|
||||
case !hasExeCtx && hasQryCtx && hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtQueryContext
|
||||
driver.ColumnConverter
|
||||
}{ws, ws, wc}
|
||||
case hasExeCtx && !hasQryCtx && hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.ColumnConverter
|
||||
}{ws, ws, wc}
|
||||
case hasExeCtx && hasQryCtx && hasColConv && !hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.StmtQueryContext
|
||||
driver.ColumnConverter
|
||||
}{ws, ws, ws, wc}
|
||||
case !hasExeCtx && !hasQryCtx && !hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.NamedValueChecker
|
||||
}{ws, wn}
|
||||
case !hasExeCtx && hasQryCtx && !hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtQueryContext
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, wn}
|
||||
case hasExeCtx && !hasQryCtx && !hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, wn}
|
||||
case hasExeCtx && hasQryCtx && !hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.StmtQueryContext
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, ws, wn}
|
||||
case !hasExeCtx && !hasQryCtx && hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.ColumnConverter
|
||||
driver.NamedValueChecker
|
||||
}{ws, wc, wn}
|
||||
case !hasExeCtx && hasQryCtx && hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtQueryContext
|
||||
driver.ColumnConverter
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, wc, wn}
|
||||
case hasExeCtx && !hasQryCtx && hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.ColumnConverter
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, wc, wn}
|
||||
case hasExeCtx && hasQryCtx && hasColConv && hasNamValChk:
|
||||
return struct {
|
||||
driver.Stmt
|
||||
driver.StmtExecContext
|
||||
driver.StmtQueryContext
|
||||
driver.ColumnConverter
|
||||
driver.NamedValueChecker
|
||||
}{ws, ws, ws, wc, wn}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
*/
|
||||
|
||||
// WrapConn allows an existing driver.Conn to be wrapped.
|
||||
func WrapConn(c driver.Conn, opts ...Option) driver.Conn {
|
||||
return wrapConn(c, NewOptions(opts...))
|
||||
|
Reference in New Issue
Block a user