2014-02-05 16:21:07 +02:00
|
|
|
package sqlmock
|
|
|
|
|
2014-02-08 17:51:58 +02:00
|
|
|
import (
|
2014-02-13 11:59:35 -08:00
|
|
|
"database/sql/driver"
|
2014-02-08 17:51:58 +02:00
|
|
|
)
|
|
|
|
|
2014-02-07 10:44:41 +02:00
|
|
|
// Result satisfies sql driver Result, which
|
2014-02-07 08:58:27 +02:00
|
|
|
// holds last insert id and rows affected
|
2014-02-07 10:44:41 +02:00
|
|
|
// by Exec queries
|
2014-02-08 17:51:58 +02:00
|
|
|
type result struct {
|
2014-02-13 11:59:35 -08:00
|
|
|
insertID int64
|
2014-02-05 16:21:07 +02:00
|
|
|
rowsAffected int64
|
2014-08-14 20:35:18 +03:00
|
|
|
err error
|
2014-02-05 16:21:07 +02:00
|
|
|
}
|
|
|
|
|
2014-02-08 17:51:58 +02:00
|
|
|
// NewResult creates a new sql driver Result
|
|
|
|
// for Exec based query mocks.
|
|
|
|
func NewResult(lastInsertID int64, rowsAffected int64) driver.Result {
|
|
|
|
return &result{
|
2014-08-14 20:35:18 +03:00
|
|
|
insertID: lastInsertID,
|
|
|
|
rowsAffected: rowsAffected,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewErrorResult creates a new sql driver Result
|
|
|
|
// which returns an error given for both interface methods
|
|
|
|
func NewErrorResult(err error) driver.Result {
|
|
|
|
return &result{
|
|
|
|
err: err,
|
2014-02-05 16:21:07 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-08 17:51:58 +02:00
|
|
|
func (r *result) LastInsertId() (int64, error) {
|
2014-08-14 20:35:18 +03:00
|
|
|
return r.insertID, r.err
|
2014-02-05 16:21:07 +02:00
|
|
|
}
|
|
|
|
|
2014-02-08 17:51:58 +02:00
|
|
|
func (r *result) RowsAffected() (int64, error) {
|
2014-08-14 20:35:18 +03:00
|
|
|
return r.rowsAffected, r.err
|
2014-02-05 16:21:07 +02:00
|
|
|
}
|