From c4a42786828c0a9fd1108490223d2e5661575d27 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Tue, 28 Jan 2025 11:35:13 +0800 Subject: [PATCH] fix(api): cannot delete library with huge number of series Closes: #1848 --- .../gotson/komga/infrastructure/jooq/main/BookDao.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/main/BookDao.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/main/BookDao.kt index 9b0ce070a3..fa46acb2a7 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/main/BookDao.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/main/BookDao.kt @@ -80,12 +80,16 @@ class BookDao( .fetchInto(b) .map { it.toDomain() } - override fun findAllBySeriesIds(seriesIds: Collection): Collection = - dsl + @Transactional + override fun findAllBySeriesIds(seriesIds: Collection): Collection { + dsl.insertTempStrings(batchSize, seriesIds) + + return dsl .selectFrom(b) - .where(b.SERIES_ID.`in`(seriesIds)) + .where(b.SERIES_ID.`in`(dsl.selectTempStrings())) .fetchInto(b) .map { it.toDomain() } + } @Transactional override fun findAllNotDeletedByLibraryIdAndUrlNotIn(