check destination type whether it's *time.Time or not.

This commit is contained in:
mattn 2012-12-26 10:01:39 +09:00
parent 65fd601635
commit f86c8f208d
1 changed files with 14 additions and 7 deletions

View File

@ -324,6 +324,9 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error {
case C.SQLITE_TEXT:
var err error
s := C.GoString((*C.char)(unsafe.Pointer(C.sqlite3_column_text(rc.s.s, C.int(i)))))
switch dest[i].(type) {
case *time.Time:
if rc.decltype[i] == "timestamp" || rc.decltype[i] == "datetime" {
dest[i], err = time.Parse(SQLiteTimestampFormat, s)
if err != nil {
@ -338,6 +341,10 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error {
} else {
dest[i] = s
}
default:
dest[i] = s
}
}
}
return nil