From 2c2b3641674ac821253b90ea3faaf8e5e1a5f319 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 22 Aug 2022 01:25:07 +0600 Subject: [PATCH] add default unoptimized realization of selectByIds --- .../micro_utils/repos/exposed/CommonExposedRepo.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt index f30da0c9eda..bfce08a36d1 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt @@ -6,4 +6,15 @@ interface CommonExposedRepo : ExposedRepo { val ResultRow.asObject: ObjectType val selectById: SqlExpressionBuilder.(IdType) -> Op val selectByIds: SqlExpressionBuilder.(List) -> Op + get() = { list -> + if (list.isEmpty()) { + Op.FALSE + } else { + var op = selectById(list.first()) + (1 until list.size).forEach { + op = op.and(selectById(list[it])) + } + op + } + } }