Skip to content

Commit 1b786bd

Browse files
committed
fields: use NullTime for nullable datetime fields
1 parent 2f97a23 commit 1b786bd

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

fields.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ var (
3333
scanTypeBytes = reflect.TypeOf([]byte{})
3434
scanTypeRawBytes = reflect.TypeOf(sql.RawBytes{})
3535
scanTypeTime = reflect.TypeOf(time.Time{})
36+
scanTypeNullTime = reflect.TypeOf(NullTime{})
3637
scanTypeUnknown = reflect.TypeOf(new(interface{}))
3738
)
3839

@@ -111,9 +112,12 @@ func (mf *mysqlField) scanType() reflect.Type {
111112
case fieldTypeDate, fieldTypeNewDate,
112113
fieldTypeTimestamp, fieldTypeDateTime:
113114

114-
// TODO: NULL
115115
// TODO: respect rows.mc.parseTime
116-
return scanTypeTime
116+
117+
if mf.flags&flagNotNULL != 0 {
118+
return scanTypeTime
119+
}
120+
return scanTypeNullTime
117121

118122
default:
119123
return scanTypeUnknown

0 commit comments

Comments
 (0)