Skip to content

Commit 01d56cc

Browse files
committed
GH-56 Open sqlite db in readonly mode to avoid changes to .shm and .wal files
1 parent 7670f0f commit 01d56cc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pkg/sqlite3/sqlite3.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"database/sql"
66
"encoding/binary"
7+
"fmt"
78
"os"
89

910
dbi "github.com/knqyf263/go-rpmdb/pkg/db"
@@ -36,7 +37,8 @@ func Open(path string) (*SQLite3, error) {
3637
return nil, ErrorInvalidSQLite3
3738
}
3839

39-
db, err := sql.Open("sqlite", path)
40+
// open sqlite3 database in read-only mode
41+
db, err := sql.Open("sqlite", fmt.Sprintf("file:%s?mode=ro&immutable=1&_mutex=no", path))
4042
if err != nil {
4143
return nil, xerrors.Errorf("failed to open sqlite3: %w", err)
4244
}

0 commit comments

Comments
 (0)