From 0032a356e590e0eb375f687d4babc8186a3df086 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Sun, 17 Aug 2025 00:04:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20reduce=20argument=20getBossIdsByJobIds?= =?UTF-8?q?=20count=20to=20fix=20`error:=C2=A0Error:=C2=A0SQLITE=5FERROR:?= =?UTF-8?q?=C2=A0Expression=C2=A0tree=C2=A0is=C2=A0too=C2=A0large=C2=A0(ma?= =?UTF-8?q?ximum=C2=A0depth=C2=A01000)`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/sqlite-plugin/src/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/sqlite-plugin/src/index.ts b/packages/sqlite-plugin/src/index.ts index a3a5e73..b3cf741 100644 --- a/packages/sqlite-plugin/src/index.ts +++ b/packages/sqlite-plugin/src/index.ts @@ -38,6 +38,7 @@ import { MarkAsNotSuitOp, MarkAsNotSuitReason } from "./enums"; import { AddColumnForMarkAsNotSuitLog1746092370665 } from "./migrations/1746092370665-AddColumnForMarkAsNotSuitLog"; import { Init1000000000000 } from "./migrations/1000000000000-Init"; import { AddJobSourceColumnForChatStartupLogAndMarkAsNotSuitLog1752380078526 } from "./migrations/1752380078526-AddJobSourceColumnForChatStartupLogAndMarkAsNotSuitLog"; +const lodashImportPromise = import('lodash-es') export function initDb(dbFilePath) { const { DataSource } = requireTypeorm() @@ -178,7 +179,13 @@ export default class SqlitePlugin { if (chattedJobIds.length === 0) { return } - const chattedBossIds = ((await getBossIdsByJobIds(ds, chattedJobIds)) ?? []).map(it => it.encryptBossId) + const { chunk } = await lodashImportPromise + const chattedJobIdChunks = chunk(chattedJobIds, 200) + const chattedBossIds = []; + for (const chattedJobIdChunk of chattedJobIdChunks) { + const chattedBossIdChunk = ((await getBossIdsByJobIds(ds, chattedJobIdChunk)) ?? []).map(it => it.encryptBossId) + chattedBossIds.push(...chattedBossIdChunk) + } for (const id of chattedBossIds) { blockBossNotNewChat.add(id) }