dendrite/syncapi/storage
Kegan Dougal 5d320dc1ab Initial syncapi storage refactor to share pq/sqlite code
This goes down a different route than https://github.com/matrix-org/dendrite/pull/985
which tried to even reduce the boilerplate of `ExecContext` etc. The previous pattern
fails badly when there are subtle differences in parameters and hence the shared
boilerplate to read from `QueryContext` breaks. Rather than attacking it at that level,
the main place where we want to reuse code is for the `syncserver.go` itself - the
database implementation which has lots of complex logic. So instead, this commit:
 - Makes `invites_table.go` an interface.
 - Makes `SyncServerDatasource` use that interface
 - This means some functions are now identical for pq/sqlite, so factor them out
   to a temporary `shared.Database` struct which will grow until it replaces all of
   `SyncServerDatasource`.
2020-05-13 16:59:35 +01:00
..
postgres Initial syncapi storage refactor to share pq/sqlite code 2020-05-13 16:59:35 +01:00
sqlite3 Initial syncapi storage refactor to share pq/sqlite code 2020-05-13 16:59:35 +01:00
tables sql/backwards_extremities: Shift to table format and share code (#985) 2020-04-28 15:50:24 +01:00
interface.go syncapi: Rename and split out tokens (#1025) 2020-05-13 12:14:50 +01:00
storage.go Limit database connections (#980, #564) (#998) 2020-05-01 13:34:53 +01:00
storage_test.go syncapi: Rename and split out tokens (#1025) 2020-05-13 12:14:50 +01:00
storage_wasm.go Limit database connections (#980, #564) (#998) 2020-05-01 13:34:53 +01:00