diff options
author | Niall Sheridan <nsheridan@gmail.com> | 2018-06-20 22:39:07 +0100 |
---|---|---|
committer | Niall Sheridan <nsheridan@gmail.com> | 2018-06-20 22:39:07 +0100 |
commit | de6d2c524430287c699aaa898c1325da6afea539 (patch) | |
tree | f78eb841208d667668a7bc92a9290d693cc7103b /vendor/github.com/jmoiron/sqlx/sqlx.go | |
parent | eb99016e1629e690e55633de6fc63a14c53e7ea2 (diff) |
Update dependencies
Diffstat (limited to 'vendor/github.com/jmoiron/sqlx/sqlx.go')
-rw-r--r-- | vendor/github.com/jmoiron/sqlx/sqlx.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/vendor/github.com/jmoiron/sqlx/sqlx.go b/vendor/github.com/jmoiron/sqlx/sqlx.go index 4859d5a..4385c3f 100644 --- a/vendor/github.com/jmoiron/sqlx/sqlx.go +++ b/vendor/github.com/jmoiron/sqlx/sqlx.go @@ -228,6 +228,14 @@ func (r *Row) Columns() ([]string, error) { return r.rows.Columns() } +// ColumnTypes returns the underlying sql.Rows.ColumnTypes(), or the deferred error +func (r *Row) ColumnTypes() ([]*sql.ColumnType, error) { + if r.err != nil { + return []*sql.ColumnType{}, r.err + } + return r.rows.ColumnTypes() +} + // Err returns the error encountered while scanning. func (r *Row) Err() error { return r.err @@ -593,7 +601,7 @@ func (r *Rows) StructScan(dest interface{}) error { return errors.New("must pass a pointer, not a value, to StructScan destination") } - v = reflect.Indirect(v) + v = v.Elem() if !r.started { columns, err := r.Columns() @@ -627,10 +635,14 @@ func (r *Rows) StructScan(dest interface{}) error { func Connect(driverName, dataSourceName string) (*DB, error) { db, err := Open(driverName, dataSourceName) if err != nil { - return db, err + return nil, err } err = db.Ping() - return db, err + if err != nil { + db.Close() + return nil, err + } + return db, nil } // MustConnect connects to a database and panics on error. |