1
0
mirror of https://github.com/DATA-DOG/go-sqlmock.git synced 2025-12-03 22:39:23 +02:00

Allow for multiple rows by manually creating each row

This commit is contained in:
Hebo
2014-02-13 11:59:35 -08:00
parent 936255418e
commit 517a41ff43
3 changed files with 66 additions and 7 deletions

17
rows.go
View File

@@ -40,17 +40,24 @@ func (r *rows) Next(dest []driver.Value) error {
return nil
}
func RowFromInterface(columns []string, values ...interface{}) driver.Rows {
rs := &rows{}
rs.cols = columns
func (r *rows) AddRow(values ...interface{}) {
if len(values) != len(r.cols) {
panic("Expected number of values to match number of columns")
}
row := make([]driver.Value, len(columns))
row := make([]driver.Value, len(r.cols))
for i, v := range values {
row[i] = v
}
rs.rows = append(rs.rows, row)
r.rows = append(r.rows, row)
}
// NewRows allows Rows to be created manually to use
// any of the types sql/driver.Value supports
func NewRows(columns []string) *rows {
rs := &rows{}
rs.cols = columns
return rs
}