diff options
author | Till <2353100+S7evinK@users.noreply.github.com> | 2022-07-18 14:46:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-18 14:46:15 +0200 |
commit | a7e92f8cb99105c2a579f73fbc972b7fb0b35678 (patch) | |
tree | d9df6aa7b9aa2321f9833fd964c108f2481153ff /syncapi/storage/postgres/syncserver.go | |
parent | c0c909d30642d03600fd48bd052a22040a67267b (diff) |
History visibility database changes (#2533)
* Add new history_visibility column
* Update SQL queries to include history_visibility
* Store the history visibilty calculated by the roomserver
* Update GMSL
* Update migrations
* Fix migration
* Update GMSL
* Fix `go.sum`
* Update GMSL to use sql.Scanner & sql.Valuer
* Re-order migration/table creation
* Update gomatrixserverlib
* Add history_visibility column to current_room_state
* Fix migrations
* Return error instead of Fatal log
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'syncapi/storage/postgres/syncserver.go')
-rw-r--r-- | syncapi/storage/postgres/syncserver.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/syncapi/storage/postgres/syncserver.go b/syncapi/storage/postgres/syncserver.go index 9cfe7c07..c6121e41 100644 --- a/syncapi/storage/postgres/syncserver.go +++ b/syncapi/storage/postgres/syncserver.go @@ -42,15 +42,13 @@ func NewDatabase(base *base.BaseDendrite, dbProperties *config.DatabaseOptions) if d.db, d.writer, err = base.DatabaseConnection(dbProperties, sqlutil.NewDummyWriter()); err != nil { return nil, err } - accountData, err := NewPostgresAccountDataTable(d.db) - if err != nil { + if _, err = d.db.Exec(outputRoomEventsSchema); err != nil { return nil, err } - events, err := NewPostgresEventsTable(d.db) - if err != nil { + if _, err = d.db.Exec(currentRoomStateSchema); err != nil { return nil, err } - currState, err := NewPostgresCurrentRoomStateTable(d.db) + accountData, err := NewPostgresAccountDataTable(d.db) if err != nil { return nil, err } @@ -101,9 +99,19 @@ func NewDatabase(base *base.BaseDendrite, dbProperties *config.DatabaseOptions) m := sqlutil.NewMigrations() deltas.LoadFixSequences(m) deltas.LoadRemoveSendToDeviceSentColumn(m) + deltas.LoadAddHistoryVisibilityColumn(m) if err = m.RunDeltas(d.db, dbProperties); err != nil { return nil, err } + // prepare statements after the migrations have run + events, err := NewPostgresEventsTable(d.db) + if err != nil { + return nil, err + } + currState, err := NewPostgresCurrentRoomStateTable(d.db) + if err != nil { + return nil, err + } d.Database = shared.Database{ DB: d.db, Writer: d.writer, |