package squirrel // RowScanner is the interface that wraps the Scan method. // // Scan behaves like database/sql.Row.Scan. type RowScanner interface { Scan(...interface{}) error } // Row wraps database/sql.Row to let squirrel return new errors on Scan. type Row struct { RowScanner err error } // Scan returns Row.err or calls RowScanner.Scan. func (r *Row) Scan(dest ...interface{}) error { if r.err != nil { return r.err } return r.RowScanner.Scan(dest...) }