diff options
Diffstat (limited to 'vendor/github.com/go-xorm/core/scan.go')
-rw-r--r-- | vendor/github.com/go-xorm/core/scan.go | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/vendor/github.com/go-xorm/core/scan.go b/vendor/github.com/go-xorm/core/scan.go deleted file mode 100644 index b7c159b2..00000000 --- a/vendor/github.com/go-xorm/core/scan.go +++ /dev/null @@ -1,55 +0,0 @@ -package core - -import ( - "database/sql/driver" - "fmt" - "time" -) - -type NullTime time.Time - -var ( - _ driver.Valuer = NullTime{} -) - -func (ns *NullTime) Scan(value interface{}) error { - if value == nil { - return nil - } - return convertTime(ns, value) -} - -// Value implements the driver Valuer interface. -func (ns NullTime) Value() (driver.Value, error) { - if (time.Time)(ns).IsZero() { - return nil, nil - } - return (time.Time)(ns).Format("2006-01-02 15:04:05"), nil -} - -func convertTime(dest *NullTime, src interface{}) error { - // Common cases, without reflect. - switch s := src.(type) { - case string: - t, err := time.Parse("2006-01-02 15:04:05", s) - if err != nil { - return err - } - *dest = NullTime(t) - return nil - case []uint8: - t, err := time.Parse("2006-01-02 15:04:05", string(s)) - if err != nil { - return err - } - *dest = NullTime(t) - return nil - case time.Time: - *dest = NullTime(s) - return nil - case nil: - default: - return fmt.Errorf("unsupported driver -> Scan pair: %T -> %T", src, dest) - } - return nil -} |