Merge pull request #422 from macropodhq/relay-scanner-errors

scanner.Scan() can fail, so the error should be forwarded
This commit is contained in:
Jinzhu 2015-03-16 11:40:56 +08:00
commit faae729b20
1 changed files with 6 additions and 2 deletions

View File

@ -27,9 +27,13 @@ func (field *Field) Set(value interface{}) error {
if scanner, ok := field.Field.Addr().Interface().(sql.Scanner); ok {
if v, ok := value.(reflect.Value); ok {
scanner.Scan(v.Interface())
if err := scanner.Scan(v.Interface()); err != nil {
return err
}
} else {
scanner.Scan(value)
if err := scanner.Scan(value); err != nil {
return err
}
}
} else {
reflectValue, ok := value.(reflect.Value)