Fix a query

This commit is contained in:
len 2016-03-19 22:38:40 +01:00
parent b09345f2e1
commit 92b3f90380

View File

@ -4,7 +4,6 @@ import android.content.Context
import android.util.Pair import android.util.Pair
import com.pushtorefresh.storio.Queries import com.pushtorefresh.storio.Queries
import com.pushtorefresh.storio.sqlite.impl.DefaultStorIOSQLite import com.pushtorefresh.storio.sqlite.impl.DefaultStorIOSQLite
import com.pushtorefresh.storio.sqlite.operations.delete.PreparedDeleteByQuery
import com.pushtorefresh.storio.sqlite.operations.get.PreparedGetObject import com.pushtorefresh.storio.sqlite.operations.get.PreparedGetObject
import com.pushtorefresh.storio.sqlite.queries.DeleteQuery import com.pushtorefresh.storio.sqlite.queries.DeleteQuery
import com.pushtorefresh.storio.sqlite.queries.Query import com.pushtorefresh.storio.sqlite.queries.Query
@ -281,17 +280,13 @@ open class DatabaseHelper(context: Context) {
fun insertMangasCategories(mangasCategories: List<MangaCategory>) = db.put().objects(mangasCategories).prepare() fun insertMangasCategories(mangasCategories: List<MangaCategory>) = db.put().objects(mangasCategories).prepare()
fun deleteOldMangasCategories(mangas: List<Manga>): PreparedDeleteByQuery { fun deleteOldMangasCategories(mangas: List<Manga>) = db.delete()
val mangaIds = Observable.from(mangas).map { manga -> manga.id }.toList().toBlocking().single()
return db.delete()
.byQuery(DeleteQuery.builder() .byQuery(DeleteQuery.builder()
.table(MangaCategoryTable.TABLE) .table(MangaCategoryTable.TABLE)
.where("${MangaCategoryTable.COLUMN_MANGA_ID} IN (${Queries.placeholders(mangas.size)})") .where("${MangaCategoryTable.COLUMN_MANGA_ID} IN (${Queries.placeholders(mangas.size)})")
.whereArgs(mangaIds) .whereArgs(*mangas.map { it.id }.toTypedArray())
.build()) .build())
.prepare() .prepare()
}
fun setMangaCategories(mangasCategories: List<MangaCategory>, mangas: List<Manga>) { fun setMangaCategories(mangasCategories: List<MangaCategory>, mangas: List<Manga>) {
inTransaction { inTransaction {