diff options
Diffstat (limited to 'storage')
| -rw-r--r-- | storage/storage.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/storage/storage.go b/storage/storage.go index 9207761..0103370 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -3,6 +3,7 @@ package storage import ( "database/sql" "fmt" + "log" "time" "go.rctt.net/solec/core" @@ -43,7 +44,11 @@ func (db *Database) Read(channel string, since time.Time, num int, offset int) ( "SELECT source, target, timestamp, content FROM messages WHERE timestamp > ? LIMIT ? OFFSET ?", since.Unix(), num, offset, ) - defer rows.Close() + defer func() { + if err := rows.Close(); err != nil { + log.Println("cannot close database row:", err) + } + }() if err != nil { return history, err @@ -51,9 +56,12 @@ func (db *Database) Read(channel string, since time.Time, num int, offset int) ( for rows.Next() { var msg core.Message - if err := rows.Scan(&msg.Source, &msg.Target, &msg.Timestamp, &msg.Content); err != nil { + var timestamp int64 + if err := rows.Scan(&msg.Source, &msg.Target, ×tamp, &msg.Content); err != nil { return history, err } + msg.Timestamp = time.Unix(timestamp, 0) + history = append(history, msg) } |
