sqlite: add msg type index to speed up cleaner

This commit is contained in:
Reto Brunner 2023-12-23 10:05:48 +01:00
parent b0ca8e51fb
commit edb1226b47

View file

@ -26,7 +26,7 @@ try {
type Migration = {version: number; stmts: string[]}; type Migration = {version: number; stmts: string[]};
type Rollback = {version: number; rollback_forbidden?: boolean; 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 // Desired schema, adapt to the newest version and add migrations to the array below
const schema = [ const schema = [
@ -45,6 +45,7 @@ const schema = [
)`, )`,
"CREATE INDEX network_channel ON messages (network, channel)", "CREATE INDEX network_channel ON messages (network, channel)",
"CREATE INDEX time ON messages (time)", "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 // 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. // down migrations need to restore the state of the prior version.
@ -91,6 +96,10 @@ export const rollbacks: Rollback[] = [
version: 1679743888000, version: 1679743888000,
stmts: [], // here we can't drop the tables, as we use them in the code, so just leave those in 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 { class Deferred {