|
|
@@ -47,23 +47,25 @@ type NullTime struct {
|
|
|
func (nt *NullTime) Scan(value interface{}) (err error) {
|
|
|
if value == nil {
|
|
|
nt.Time, nt.Valid = time.Time{}, false
|
|
|
- } else {
|
|
|
- switch v := value.(type) {
|
|
|
- case time.Time:
|
|
|
- nt.Time, nt.Valid = v, true
|
|
|
- case []byte:
|
|
|
- nt.Time, err = parseDateTime(string(v), time.UTC)
|
|
|
- nt.Valid = (err == nil)
|
|
|
- case string:
|
|
|
- nt.Time, err = parseDateTime(v, time.UTC)
|
|
|
- nt.Valid = (err == nil)
|
|
|
- default:
|
|
|
- nt.Valid = false
|
|
|
- err = fmt.Errorf("Can't convert %T to time.Time", v)
|
|
|
- }
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- return
|
|
|
+ switch v := value.(type) {
|
|
|
+ case time.Time:
|
|
|
+ nt.Time, nt.Valid = v, true
|
|
|
+ return
|
|
|
+ case []byte:
|
|
|
+ nt.Time, err = parseDateTime(string(v), time.UTC)
|
|
|
+ nt.Valid = (err == nil)
|
|
|
+ return
|
|
|
+ case string:
|
|
|
+ nt.Time, err = parseDateTime(v, time.UTC)
|
|
|
+ nt.Valid = (err == nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ nt.Valid = false
|
|
|
+ return fmt.Errorf("Can't convert %T to time.Time", value)
|
|
|
}
|
|
|
|
|
|
// Value implements the driver Valuer interface.
|