0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-11-20 08:40:14 +01:00
dendrite/internal/sqlutil
0x1a8510f2 51ab0a8ccf
Fix moderncsqlite errors and rebase onto main (#2832)
This is #2819 but rebased on latest `main`. This PR is against main too
as opposed to the `moderncsqlite` branch.

The main change here is simply:

```go
// add query parameters to the dsn
if strings.Contains(dsn, "?") {
	dsn += "&"
} else {
	dsn += "?"
}

// wait some time before erroring if the db is locked
// https://gitlab.com/cznic/sqlite/-/issues/106#note_1058094993
dsn += "_pragma=busy_timeout%3d10000"
```

### Pull Request Checklist

<!-- Please read
https://matrix-org.github.io/dendrite/development/contributing before
submitting your pull request -->

* [x] I have added tests for PR _or_ I have justified why this PR
doesn't need tests.
* [x] Pull request includes a [sign off below using a legally
identifiable
name](https://matrix-org.github.io/dendrite/development/contributing#sign-off)
_or_ I have already signed off privately

Signed off privately.

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-11-02 13:20:10 +00:00
..
migrate.go
migrate_test.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
sql.go
sqlite_cgo.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
sqlite_native.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
sqlutil.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
sqlutil_test.go
trace.go
trace_driver.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
trace_driver_wasm.go
unique_constraint.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
unique_constraint_cgo.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
unique_constraint_wasm.go Fix moderncsqlite errors and rebase onto main (#2832) 2022-11-02 13:20:10 +00:00
uri.go
writer.go
writer_dummy.go
writer_exclusive.go