switch database to wal mode
This commit is contained in:
parent
3c650e3979
commit
65ba713c17
4
README
4
README
|
@ -20,7 +20,7 @@ This does not imply the goal is to be what you want.
|
|||
-- build
|
||||
|
||||
It should be sufficient to type make after unpacking a release.
|
||||
You'll need a go compiler version 1.13 or later. And libsqlite3.
|
||||
You'll need a go compiler version 1.16 or later. And libsqlite3.
|
||||
|
||||
Even on a fast machine, building from source can take several seconds.
|
||||
|
||||
|
@ -42,7 +42,7 @@ Then run honk.
|
|||
|
||||
-- upgrade
|
||||
|
||||
cp honk.db backup.db
|
||||
old-honk backup `date +backup-%F`
|
||||
./honk upgrade
|
||||
./honk
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"bytes"
|
||||
"crypto/sha512"
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
_ "embed"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"sort"
|
||||
|
|
|
@ -2,6 +2,8 @@ changelog
|
|||
|
||||
=== next
|
||||
|
||||
+ Switch database to WAL mode.
|
||||
|
||||
- go version 1.16 required.
|
||||
|
||||
+ Specify banner: image in profile.
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
var myVersion = 40
|
||||
var myVersion = 41
|
||||
|
||||
type dbexecer interface {
|
||||
Exec(query string, args ...interface{}) (sql.Result, error)
|
||||
|
@ -200,6 +200,12 @@ func upgradedb() {
|
|||
doordie(db, "update config set value = 40 where key = 'dbversion'")
|
||||
fallthrough
|
||||
case 40:
|
||||
doordie(db, "PRAGMA journal_mode=WAL")
|
||||
blobdb := openblobdb()
|
||||
doordie(blobdb, "PRAGMA journal_mode=WAL")
|
||||
doordie(db, "update config set value = 41 where key = 'dbversion'")
|
||||
fallthrough
|
||||
case 41:
|
||||
|
||||
default:
|
||||
elog.Fatalf("can't upgrade unknown version %d", dbversion)
|
||||
|
|
10
util.go
10
util.go
|
@ -100,6 +100,11 @@ func initdb() {
|
|||
os.Exit(1)
|
||||
}()
|
||||
|
||||
_, err = db.Exec("PRAGMA journal_mode=WAL")
|
||||
if err != nil {
|
||||
elog.Print(err)
|
||||
return
|
||||
}
|
||||
for _, line := range strings.Split(sqlSchema, ";") {
|
||||
_, err = db.Exec(line)
|
||||
if err != nil {
|
||||
|
@ -176,6 +181,11 @@ func initblobdb() {
|
|||
elog.Print(err)
|
||||
return
|
||||
}
|
||||
_, err = blobdb.Exec("PRAGMA journal_mode=WAL")
|
||||
if err != nil {
|
||||
elog.Print(err)
|
||||
return
|
||||
}
|
||||
_, err = blobdb.Exec("create table filedata (xid text, media text, hash text, content blob)")
|
||||
if err != nil {
|
||||
elog.Print(err)
|
||||
|
|
Loading…
Reference in New Issue