1
0
Fork 0

Merge pull request #1653 from mauri870/hotfix/busy-timeout-rodb

fix busy_timeout stat for read-only db
master
Philip O'Toole 8 months ago committed by GitHub
commit 7b26c94fc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -345,7 +345,7 @@ func (db *DB) BusyTimeout() (rwMs, roMs int, err error) {
if err != nil {
return 0, 0, err
}
err = db.rwDB.QueryRow("PRAGMA busy_timeout").Scan(&roMs)
err = db.roDB.QueryRow("PRAGMA busy_timeout").Scan(&roMs)
if err != nil {
return 0, 0, err
}

@ -2,7 +2,6 @@ package db
import (
"errors"
"fmt"
"os"
"strings"
"testing"
@ -13,30 +12,21 @@ import (
)
func testBusyTimeout(t *testing.T, db *DB) {
rbt := random.Intn(10000)
_, err := db.ExecuteStringStmt(fmt.Sprintf("PRAGMA busy_timeout=%d", rbt))
wantRw := random.Intn(10000)
wantRo := random.Intn(10000)
err := db.SetBusyTimeout(wantRw, wantRo)
if err != nil {
t.Fatalf("failed to set busy_timeout: %s", err.Error())
}
rw, _, err := db.BusyTimeout()
gotRw, gotRo, err := db.BusyTimeout()
if err != nil {
t.Fatalf("failed to get busy_timeout: %s", err.Error())
}
if exp, got := rbt, rw; exp != got {
t.Fatalf("expected busy_timeout %d, got %d", exp, got)
}
rw2 := random.Intn(10000)
if err := db.SetBusyTimeout(rw2, 0); err != nil {
t.Fatalf("failed to set busy_timeout: %s", err.Error())
}
rw, _, err = db.BusyTimeout()
if err != nil {
t.Fatalf("failed to get busy_timeout: %s", err.Error())
}
if exp, got := rw2, rw; exp != got {
t.Fatalf("expected busy_timeout %d, got %d", exp, got)
if gotRw != wantRw || gotRo != wantRo {
t.Fatalf("want busy_timeout rw=%d, ro=%d, got rw=%d, ro=%d", wantRw, wantRo, gotRw, gotRo)
}
}

Loading…
Cancel
Save