aboutsummaryrefslogtreecommitdiff
path: root/syncapi/storage/sqlite3/syncserver.go
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-12-11 14:02:17 +0000
committerGitHub <noreply@github.com>2020-12-11 14:02:17 +0000
commitebcacd1bb56d6e37ff743c0430bc91e24d440199 (patch)
treed9cd72accebe4004e8eb067026ab0158ccff0a1a /syncapi/storage/sqlite3/syncserver.go
parentc55361c1b88b272c9a06e7dbc61f60e3effbd063 (diff)
Give receipts their own stream ID in the database (#1631)
* Give read recipts their own database sequence * Give receipts their own stream ID * Change migration names * Reset sequences * Add max receipt queries, missing stream_id table entry for SQLite
Diffstat (limited to 'syncapi/storage/sqlite3/syncserver.go')
-rw-r--r--syncapi/storage/sqlite3/syncserver.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/syncapi/storage/sqlite3/syncserver.go b/syncapi/storage/sqlite3/syncserver.go
index 7df71b38..1ad0e947 100644
--- a/syncapi/storage/sqlite3/syncserver.go
+++ b/syncapi/storage/sqlite3/syncserver.go
@@ -25,6 +25,7 @@ import (
"github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/setup/config"
"github.com/matrix-org/dendrite/syncapi/storage/shared"
+ "github.com/matrix-org/dendrite/syncapi/storage/sqlite3/deltas"
)
// SyncServerDatasource represents a sync server datasource which manages
@@ -46,13 +47,14 @@ func NewDatabase(dbProperties *config.DatabaseOptions) (*SyncServerDatasource, e
return nil, err
}
d.writer = sqlutil.NewExclusiveWriter()
- if err = d.prepare(); err != nil {
+ if err = d.prepare(dbProperties); err != nil {
return nil, err
}
return &d, nil
}
-func (d *SyncServerDatasource) prepare() (err error) {
+// nolint:gocyclo
+func (d *SyncServerDatasource) prepare(dbProperties *config.DatabaseOptions) (err error) {
if err = d.PartitionOffsetStatements.Prepare(d.db, d.writer, "syncapi"); err != nil {
return err
}
@@ -99,6 +101,11 @@ func (d *SyncServerDatasource) prepare() (err error) {
if err != nil {
return err
}
+ m := sqlutil.NewMigrations()
+ deltas.LoadFixSequences(m)
+ if err = m.RunDeltas(d.db, dbProperties); err != nil {
+ return err
+ }
d.Database = shared.Database{
DB: d.db,
Writer: d.writer,