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