Optimize some indices and queries

This commit is contained in:
Fedor Indutny 2023-01-17 13:07:21 -08:00 committed by GitHub
parent 4a3ffe07e8
commit 1c22fe653c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 33 deletions

View file

@ -0,0 +1,39 @@
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
import type { LoggerType } from '../../types/Logging';
export default function updateToSchemaVersion74(
currentVersion: number,
db: Database,
logger: LoggerType
): void {
if (currentVersion >= 74) {
return;
}
db.transaction(() => {
db.exec(
`
-- Previously: (isUserInitiatedMessage)
DROP INDEX message_user_initiated;
CREATE INDEX message_user_initiated ON messages (conversationId, isUserInitiatedMessage);
-- Previously: (unread, conversationId)
DROP INDEX reactions_unread;
CREATE INDEX reactions_unread ON reactions (
conversationId,
unread
);
`
);
db.pragma('user_version = 74');
})();
logger.info('updateToSchemaVersion74: success!');
}