Resolve sticker pack references after import

Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
This commit is contained in:
automated-signal
2025-01-28 16:33:43 -06:00
committed by GitHub
parent 5831a23821
commit ffbd8d5ea7
7 changed files with 216 additions and 40 deletions

View File

@@ -0,0 +1,35 @@
// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LoggerType } from '../../types/Logging';
import { sql } from '../util';
import type { WritableDB } from '../Interface';
export const version = 1300;
export function updateToSchemaVersion1300(
currentVersion: number,
db: WritableDB,
logger: LoggerType
): void {
if (currentVersion >= 1300) {
return;
}
db.transaction(() => {
const [query] = sql`
ALTER TABLE sticker_references
ADD COLUMN stickerId INTEGER NOT NULL DEFAULT -1;
ALTER TABLE sticker_references
ADD COLUMN isUnresolved INTEGER NOT NULL DEFAULT 0;
CREATE INDEX unresolved_sticker_refs
ON sticker_references (packId, stickerId)
WHERE isUnresolved IS 1;
`;
db.exec(query);
db.pragma('user_version = 1300');
})();
logger.info('updateToSchemaVersion1300: success!');
}

View File

@@ -105,10 +105,11 @@ import { updateToSchemaVersion1250 } from './1250-defunct-call-links-storage';
import { updateToSchemaVersion1260 } from './1260-sync-tasks-rowid';
import { updateToSchemaVersion1270 } from './1270-normalize-messages';
import { updateToSchemaVersion1280 } from './1280-blob-unprocessed';
import { updateToSchemaVersion1290 } from './1290-int-unprocessed-source-device';
import {
updateToSchemaVersion1290,
updateToSchemaVersion1300,
version as MAX_VERSION,
} from './1290-int-unprocessed-source-device';
} from './1300-sticker-pack-refs';
import { DataWriter } from '../Server';
function updateToSchemaVersion1(
@@ -2084,6 +2085,8 @@ export const SCHEMA_VERSIONS = [
updateToSchemaVersion1270,
updateToSchemaVersion1280,
updateToSchemaVersion1290,
updateToSchemaVersion1300,
];
export class DBVersionFromFutureError extends Error {