Fix multi-select operations crashing when selection is too large

This commit is contained in:
NerdNumber9
2019-04-19 17:53:41 -04:00
parent e08e569135
commit 4aff768b8e
3 changed files with 12 additions and 4 deletions

View File

@ -24,8 +24,12 @@ interface MangaCategoryQueries : DbProvider {
fun setMangaCategories(mangasCategories: List<MangaCategory>, mangas: List<Manga>) {
db.inTransaction {
deleteOldMangasCategories(mangas).executeAsBlocking()
insertMangasCategories(mangasCategories).executeAsBlocking()
mangas.chunked(100) { chunk ->
deleteOldMangasCategories(chunk).executeAsBlocking()
}
mangasCategories.chunked(100) { chunk ->
insertMangasCategories(chunk).executeAsBlocking()
}
}
}

View File

@ -39,7 +39,9 @@ interface SearchTagQueries : DbProvider {
fun setSearchTagsForManga(mangaId: Long, tags: List<SearchTag>) {
db.inTransaction {
deleteSearchTagsForManga(mangaId).executeAsBlocking()
insertSearchTags(tags).executeAsBlocking()
tags.chunked(100) { chunk ->
insertSearchTags(chunk).executeAsBlocking()
}
}
}
}

View File

@ -41,7 +41,9 @@ interface SearchTitleQueries : DbProvider {
fun setSearchTitlesForManga(mangaId: Long, titles: List<SearchTitle>) {
db.inTransaction {
deleteSearchTitlesForManga(mangaId).executeAsBlocking()
insertSearchTitles(titles).executeAsBlocking()
titles.chunked(100) { chunk ->
insertSearchTitles(chunk).executeAsBlocking()
}
}
}
}