signal-desktop/ts/test-node/sql/migration_1090_test.ts

48 lines
1.2 KiB
TypeScript
Raw Normal View History

// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
2024-07-22 11:16:33 -07:00
import type { WritableDB } from '../../sql/Interface';
2025-03-12 14:45:54 -07:00
import { sql } from '../../sql/util';
import { createDB, updateToVersion, explain } from './helpers';
describe('SQL/updateToSchemaVersion1090', () => {
2024-07-22 11:16:33 -07:00
let db: WritableDB;
beforeEach(() => {
2024-07-22 11:16:33 -07:00
db = createDB();
updateToVersion(db, 1090);
});
afterEach(() => {
db.close();
});
describe('Additional messages_on_delete indexes', () => {
it('uses index for selecting reactions by messageId', () => {
2025-03-12 14:45:54 -07:00
const details = explain(
db,
sql`SELECT rowid FROM reactions
WHERE messageId = '123';
`
2025-03-12 14:45:54 -07:00
);
assert.strictEqual(
details,
'SEARCH reactions USING COVERING INDEX reactions_messageId (messageId=?)'
);
});
it('uses index for selecting storyReads by storyId', () => {
2025-03-12 14:45:54 -07:00
const details = explain(
db,
sql`DELETE FROM storyReads WHERE storyId = '123';`
);
assert.strictEqual(
details,
'SEARCH storyReads USING INDEX storyReads_storyId (storyId=?)'
);
});
});
});