From edb1226b474e9dc74d096201220d8e675821ac21 Mon Sep 17 00:00:00 2001 From: Reto Brunner Date: Sat, 23 Dec 2023 10:05:48 +0100 Subject: [PATCH] sqlite: add msg type index to speed up cleaner --- server/plugins/messageStorage/sqlite.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/plugins/messageStorage/sqlite.ts b/server/plugins/messageStorage/sqlite.ts index cd655b9d..713f108f 100644 --- a/server/plugins/messageStorage/sqlite.ts +++ b/server/plugins/messageStorage/sqlite.ts @@ -26,7 +26,7 @@ try { type Migration = {version: number; stmts: string[]}; type Rollback = {version: number; rollback_forbidden?: boolean; stmts: string[]}; -export const currentSchemaVersion = 1679743888000; // use `new Date().getTime()` +export const currentSchemaVersion = 1703322560448; // use `new Date().getTime()` // Desired schema, adapt to the newest version and add migrations to the array below const schema = [ @@ -45,6 +45,7 @@ const schema = [ )`, "CREATE INDEX network_channel ON messages (network, channel)", "CREATE INDEX time ON messages (time)", + "CREATE INDEX msg_type_idx on messages (type)", // needed for efficient storageCleaner queries ]; // the migrations will be executed in an exclusive transaction as a whole @@ -78,6 +79,10 @@ export const migrations: Migration[] = [ )`, ], }, + { + version: 1703322560448, + stmts: ["CREATE INDEX msg_type_idx on messages (type)"], + }, ]; // down migrations need to restore the state of the prior version. @@ -91,6 +96,10 @@ export const rollbacks: Rollback[] = [ version: 1679743888000, stmts: [], // here we can't drop the tables, as we use them in the code, so just leave those in }, + { + version: 1703322560448, + stmts: ["drop INDEX msg_type_idx"], + }, ]; class Deferred {