Skip to content

Commit

Permalink
rows: fix PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
tcolgate committed Dec 14, 2021
1 parent f4f50f4 commit 7aff84f
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 15 deletions.
5 changes: 0 additions & 5 deletions rows.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ import (

//go:generate go run ./tools/rows_picker_gen.go -o rows_picker.go

// Compile time validation that our types implement the expected interfaces
var (
_ driver.Rows = wrappedRows{}
)

// RowsUnwrapper must be used by any middleware that provides its own wrapping
// for driver.Rows. Unwrap should return the original driver.Rows the
// middleware received. You may wish to wrap the driver.Rows returned by the
Expand Down
20 changes: 16 additions & 4 deletions rows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,23 @@ import (
"context"
"database/sql"
"database/sql/driver"
"log"
"fmt"
"reflect"
"sync/atomic"
"testing"
)

var driverCount = int32(0)

func driverName(t *testing.T) string {
c := atomic.LoadInt32(&driverCount)
name := fmt.Sprintf("driver-%s-%d", t.Name(), c)
c++
atomic.StoreInt32(&driverCount, c)

return name
}

type rowsCloseInterceptor struct {
NullInterceptor

Expand All @@ -24,7 +36,7 @@ func (r *rowsCloseInterceptor) RowsClose(ctx context.Context, rows driver.Rows)
}

func TestRowsClose(t *testing.T) {
driverName := t.Name()
driverName := driverName(t)
interceptor := rowsCloseInterceptor{}

con := fakeConn{}
Expand Down Expand Up @@ -98,7 +110,7 @@ func TestRowsNext(t *testing.T) {
rows: rows,
}
con.stmt = stmt
driverName := t.Name()
driverName := driverName(t)
interceptor := rowsNextInterceptor{}

sql.Register(
Expand Down Expand Up @@ -188,7 +200,7 @@ func TestRows_LikePGX(t *testing.T) {
rows: rows,
}
con.stmt = stmt
driverName := t.Name()
driverName := driverName(t)
interceptor := rowsNextInterceptor{}

sql.Register(
Expand Down
11 changes: 6 additions & 5 deletions stmt_go19_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
// driver.DefaultParameterConverter is used when neither stmt nor con
// implements any value converters.
func TestDefaultParameterConversion(t *testing.T) {
driverNameWithSQLmw := t.Name() + "sqlmw"
driverName := driverName(t)

expectVal := int64(1)
con := &fakeConn{}
Expand All @@ -24,11 +24,11 @@ func TestDefaultParameterConversion(t *testing.T) {
con.stmt = fakeStmt

sql.Register(
driverNameWithSQLmw,
driverName,
Driver(&fakeDriver{conn: con}, &NullInterceptor{}),
)

db, err := sql.Open(driverNameWithSQLmw, "")
db, err := sql.Open(driverName, "")
if err != nil {
t.Fatalf("Failed to open: %v", err)
}
Expand Down Expand Up @@ -134,8 +134,9 @@ func TestWrappedStmt_CheckNamedValue(t *testing.T) {

for name, test := range tests {
t.Run(name, func(t *testing.T) {
sql.Register("fake-driver:"+name, Driver(test.fd, &fakeInterceptor{}))
db, err := sql.Open("fake-driver:"+name, "dummy")
driverName := driverName(t)
sql.Register(driverName, Driver(test.fd, &fakeInterceptor{}))
db, err := sql.Open(driverName, "dummy")
if err != nil {
t.Errorf("Failed to open: %v", err)
}
Expand Down
6 changes: 5 additions & 1 deletion tools/rows_picker_gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ func main() {
log.Fatalf("could not create file %q, %v", *fn, err)
}
}
defer out.Close()

intfs := []string{
"NextResultSet",
Expand Down Expand Up @@ -51,6 +50,11 @@ func main() {

fmt.Fprintln(out, "")
genWrapRows(out, intfs)

err = out.Close()
if err != nil {
log.Fatalf("could close file, %v", err)
}
}

func genComment(w io.Writer) {
Expand Down

0 comments on commit 7aff84f

Please sign in to comment.