dendrite/roomserver/storage
kegsay ed04eed441
Fix sqlite migration issues (#1960)
* Do not store 'null' in the database for empty JSON arrays

This can cause issues, though it should be noted that the majority
of the time this will marshal/unmarshal just fine, see
https://play.golang.org/p/Doe2NZUgv7Q

* bugfix: sqlite migration should handle create events as having no 'before' snapshot

The state snapshot for any given event in the roomserver represents the state _before_
the event. For the create event, this is nothing, so the state snapshot nid should be 0.

In some cases this wasn't happening, resulting in a nice mix of possible options including:
 - A state snapshot without any state blocks `[]` or `null`.
 - A state snapshot with a single state block with a single event, the create event, causing
   a circular loop. This is incorrect as it represents the state before the event, not after.

* Add state key check
2021-08-04 17:08:17 +01:00
..
postgres Factor out StatementList to `sqlutil` and use it in `userapi` 2021-07-28 18:30:04 +01:00
shared Track knocking in membership updater (#1935) 2021-07-22 12:26:58 +01:00
sqlite3 Fix sqlite migration issues (#1960) 2021-08-04 17:08:17 +01:00
tables Track knocking in membership updater (#1935) 2021-07-22 12:26:58 +01:00
interface.go Optimise QueryServerJoinedToRoom (#1933) 2021-07-21 13:06:32 +01:00
storage.go Top-level setup package (#1605) 2020-12-02 17:41:00 +00:00
storage_wasm.go Top-level setup package (#1605) 2020-12-02 17:41:00 +00:00