sqlite3.go: use PRAGMA to set busy_timeout (#910)
The busy_timeout pragma was added in sqlite 3.7.15 as an alternative to calling sqlite3_busy_timeout directly: https://sqlite.org/pragma.html#pragma_busy_timeout While there's no functional change here, using the pragma does align setting busy_timeout with other settings and removes the special case for calling sqlite3_busy_timeout directly.move-code
parent
ab653675c9
commit
3bb6941859
12
sqlite3.go
12
sqlite3.go
|
@ -1415,12 +1415,6 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
|
||||||
return nil, errors.New("sqlite succeeded without returning a database")
|
return nil, errors.New("sqlite succeeded without returning a database")
|
||||||
}
|
}
|
||||||
|
|
||||||
rv = C.sqlite3_busy_timeout(db, C.int(busyTimeout))
|
|
||||||
if rv != C.SQLITE_OK {
|
|
||||||
C.sqlite3_close_v2(db)
|
|
||||||
return nil, Error{Code: ErrNo(rv)}
|
|
||||||
}
|
|
||||||
|
|
||||||
exec := func(s string) error {
|
exec := func(s string) error {
|
||||||
cs := C.CString(s)
|
cs := C.CString(s)
|
||||||
rv := C.sqlite3_exec(db, cs, nil, nil, nil)
|
rv := C.sqlite3_exec(db, cs, nil, nil, nil)
|
||||||
|
@ -1431,6 +1425,12 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Busy timeout
|
||||||
|
if err := exec(fmt.Sprintf("PRAGMA busy_timeout = %d;", busyTimeout)); err != nil {
|
||||||
|
C.sqlite3_close_v2(db)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
// USER AUTHENTICATION
|
// USER AUTHENTICATION
|
||||||
//
|
//
|
||||||
// User Authentication is always performed even when
|
// User Authentication is always performed even when
|
||||||
|
|
Loading…
Reference in New Issue