From 1dd355d63c0964ccb102261bc82f14ceb4a2f375 Mon Sep 17 00:00:00 2001 From: Kyril Revels Date: Tue, 4 Jun 2019 17:57:33 -0400 Subject: [PATCH 1/2] support for usage of sql.Out as a param value --- go.mod | 2 ++ sqlmock_go18.go | 5 ----- sqlmock_go18_19.go | 11 +++++++++++ sqlmock_go19.go | 19 +++++++++++++++++++ 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 sqlmock_go18_19.go create mode 100644 sqlmock_go19.go diff --git a/go.mod b/go.mod index eaf8a5a..0d598b0 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,3 @@ module github.com/DATA-DOG/go-sqlmock + +go 1.12 diff --git a/sqlmock_go18.go b/sqlmock_go18.go index 0afb296..34509ff 100644 --- a/sqlmock_go18.go +++ b/sqlmock_go18.go @@ -114,8 +114,3 @@ func (stmt *statement) QueryContext(ctx context.Context, args []driver.NamedValu // @TODO maybe add ExpectedBegin.WithOptions(driver.TxOptions) -// CheckNamedValue meets https://golang.org/pkg/database/sql/driver/#NamedValueChecker -func (c *sqlmock) CheckNamedValue(nv *driver.NamedValue) (err error) { - nv.Value, err = c.converter.ConvertValue(nv.Value) - return err -} diff --git a/sqlmock_go18_19.go b/sqlmock_go18_19.go new file mode 100644 index 0000000..9d81a7f --- /dev/null +++ b/sqlmock_go18_19.go @@ -0,0 +1,11 @@ +// +build go1.8,!go1.9 + +package sqlmock + +import "database/sql/driver" + +// CheckNamedValue meets https://golang.org/pkg/database/sql/driver/#NamedValueChecker +func (c *sqlmock) CheckNamedValue(nv *driver.NamedValue) (err error) { + nv.Value, err = c.converter.ConvertValue(nv.Value) + return err +} diff --git a/sqlmock_go19.go b/sqlmock_go19.go new file mode 100644 index 0000000..c0f2424 --- /dev/null +++ b/sqlmock_go19.go @@ -0,0 +1,19 @@ +// +build go1.9 + +package sqlmock + +import ( + "database/sql" + "database/sql/driver" +) + +// CheckNamedValue meets https://golang.org/pkg/database/sql/driver/#NamedValueChecker +func (c *sqlmock) CheckNamedValue(nv *driver.NamedValue) (err error) { + switch nv.Value.(type) { + case sql.Out: + return nil + default: + nv.Value, err = c.converter.ConvertValue(nv.Value) + return err + } +} From 470c520119d87b339f08ef4fcf93fdc45738ad0f Mon Sep 17 00:00:00 2001 From: Kyril Revels Date: Tue, 4 Jun 2019 17:59:34 -0400 Subject: [PATCH 2/2] formatting --- go.mod | 2 -- sqlmock_go18.go | 1 - 2 files changed, 3 deletions(-) diff --git a/go.mod b/go.mod index 0d598b0..eaf8a5a 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1 @@ module github.com/DATA-DOG/go-sqlmock - -go 1.12 diff --git a/sqlmock_go18.go b/sqlmock_go18.go index 34509ff..8fe9c1d 100644 --- a/sqlmock_go18.go +++ b/sqlmock_go18.go @@ -113,4 +113,3 @@ func (stmt *statement) QueryContext(ctx context.Context, args []driver.NamedValu } // @TODO maybe add ExpectedBegin.WithOptions(driver.TxOptions) -