Fix support for SQLite 3.7.
Partial indices support was added in 3.8.0, so we need to use the background updates that handles this correctly.
This commit is contained in:
parent
0f3614f0f6
commit
4cade96616
|
@ -90,6 +90,22 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
|
||||||
"event_store_labels", self._event_store_labels
|
"event_store_labels", self._event_store_labels
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.db.updates.register_background_index_update(
|
||||||
|
"redactions_have_censored_idx",
|
||||||
|
index_name="redactions_have_censored",
|
||||||
|
table="redactions",
|
||||||
|
columns=["event_id"],
|
||||||
|
where_clause="NOT have_censored",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.db.updates.register_background_index_update(
|
||||||
|
"redactions_have_censored_ts_idx",
|
||||||
|
index_name="redactions_have_censored_ts",
|
||||||
|
table="redactions",
|
||||||
|
columns=["received_ts"],
|
||||||
|
where_clause="NOT have_censored",
|
||||||
|
)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _background_reindex_fields_sender(self, progress, batch_size):
|
def _background_reindex_fields_sender(self, progress, batch_size):
|
||||||
target_min_stream_id = progress["target_min_stream_id_inclusive"]
|
target_min_stream_id = progress["target_min_stream_id_inclusive"]
|
||||||
|
|
|
@ -14,4 +14,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ALTER TABLE redactions ADD COLUMN have_censored BOOL NOT NULL DEFAULT false;
|
ALTER TABLE redactions ADD COLUMN have_censored BOOL NOT NULL DEFAULT false;
|
||||||
CREATE INDEX redactions_have_censored ON redactions(event_id) WHERE not have_censored;
|
|
||||||
|
INSERT INTO background_updates (update_name, progress_json) VALUES
|
||||||
|
('redactions_have_censored_idx', '{}');
|
||||||
|
|
|
@ -14,7 +14,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ALTER TABLE redactions ADD COLUMN received_ts BIGINT;
|
ALTER TABLE redactions ADD COLUMN received_ts BIGINT;
|
||||||
CREATE INDEX redactions_have_censored_ts ON redactions(received_ts) WHERE not have_censored;
|
|
||||||
|
|
||||||
INSERT INTO background_updates (update_name, progress_json) VALUES
|
INSERT INTO background_updates (update_name, progress_json) VALUES
|
||||||
('redactions_received_ts', '{}');
|
('redactions_received_ts', '{}');
|
||||||
|
|
||||||
|
INSERT INTO background_updates (update_name, progress_json) VALUES
|
||||||
|
('redactions_have_censored_ts_idx', '{}');
|
||||||
|
|
Loading…
Reference in New Issue