File weekly-fix.patch of Package go-gosqlite
diff --git a/sqlite/sqlite.go b/sqlite/sqlite.go
index 808c441..10d4d94 100644
--- a/sqlite/sqlite.go
+++ b/sqlite/sqlite.go
@@ -32,11 +32,11 @@ import "C"
import (
"errors"
"fmt"
- "os"
"reflect"
"strconv"
"unsafe"
"time"
+ "syscall"
)
type Errno int
@@ -198,14 +198,14 @@ func (b *Backup) Run(npage int, sleepNs int64, c chan<- BackupStatus) error {
if c != nil {
c <- b.Status()
}
- time.Sleep(sleepNs)
+ time.Sleep(time.Duration(sleepNs))
}
return b.dst.error(C.sqlite3_errcode(b.dst.db))
}
func (b *Backup) Close() error {
if b.sb == nil {
- return os.EINVAL
+ return syscall.EINVAL
}
C.sqlite3_backup_finish(b.sb)
b.sb = nil
@@ -258,7 +258,7 @@ func (c *Conn) Prepare(cmd string) (*Stmt, error) {
if rv != 0 {
return nil, c.error(rv)
}
- return &Stmt{c: c, stmt: stmt, sql: cmd, t0: time.Nanoseconds()}, nil
+ return &Stmt{c: c, stmt: stmt, sql: cmd, t0: time.Now().UnixNano()}, nil
}
func (s *Stmt) Exec(args ...interface{}) error {
@@ -358,13 +358,13 @@ func (s *Stmt) Scan(args ...interface{}) error {
}
*v = x
case *int64:
- x, err := strconv.Atoi64(string(data))
+ x, err := strconv.ParseInt(string(data), 10, 64)
if err != nil {
return errors.New("arg " + strconv.Itoa(i) + " as int64: " + err.Error())
}
*v = x
case *float64:
- x, err := strconv.Atof64(string(data))
+ x, err := strconv.ParseFloat(string(data), 64)
if err != nil {
return errors.New("arg " + strconv.Itoa(i) + " as float64: " + err.Error())
}
@@ -381,7 +381,7 @@ func (s *Stmt) SQL() string {
}
func (s *Stmt) Nanoseconds() int64 {
- return time.Nanoseconds() - s.t0
+ return time.Now().UnixNano() - s.t0
}
func (s *Stmt) Finalize() error {