From 03c88306727d91203a00fa20ec7dbf2f22118bda Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 30 Aug 2022 15:17:09 +0600 Subject: [PATCH 1/3] start 0.12.5 --- CHANGELOG.md | 2 ++ gradle.properties | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22b986b2d95..e2b0c9f3e4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.12.5 + ## 0.12.4 * `Versions`: diff --git a/gradle.properties b/gradle.properties index c6de0f0d97f..4ec4d073ecc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,5 +14,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.12.4 -android_code_version=143 +version=0.12.5 +android_code_version=144 From b165a76e626c985f4083e7800bc313c511a3c625 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 30 Aug 2022 15:20:45 +0600 Subject: [PATCH 2/3] fixes in selectPaginated --- .../micro_utils/pagination/QueryExtensions.kt | 6 +--- .../keyvalue/ExposedReadKeyValueRepo.kt | 29 ++++++++++++------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/pagination/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/pagination/QueryExtensions.kt b/pagination/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/pagination/QueryExtensions.kt index 06a3da5c52a..616c28e0b7b 100644 --- a/pagination/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/pagination/QueryExtensions.kt +++ b/pagination/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/pagination/QueryExtensions.kt @@ -4,11 +4,7 @@ import org.jetbrains.exposed.sql.* fun Query.paginate(with: Pagination, orderBy: Pair, SortOrder>? = null) = limit( with.size, - (if (orderBy ?.second == SortOrder.DESC) { - with.lastIndex - } else { - with.firstIndex - }).toLong() + with.firstIndex.toLong() ).let { if (orderBy != null) { it.orderBy( diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt index 7fa979d4a26..5ea319f8d02 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt @@ -3,6 +3,7 @@ package dev.inmo.micro_utils.repos.exposed.keyvalue import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.repos.ReadKeyValueRepo import dev.inmo.micro_utils.repos.exposed.* +import dev.inmo.micro_utils.repos.exposed.utils.selectPaginated import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.transactions.transaction @@ -29,24 +30,32 @@ open class ExposedReadKeyValueRepo( override suspend fun count(): Long = transaction(database) { selectAll().count() } override suspend fun keys(pagination: Pagination, reversed: Boolean): PaginationResult = transaction(database) { - selectAll().paginate(pagination, keyColumn to if (reversed) SortOrder.DESC else SortOrder.ASC).map { + selectAll().selectPaginated( + pagination, + keyColumn, + reversed + ) { it[keyColumn] } - }.createPaginationResult(pagination, count()) + } override suspend fun keys(v: Value, pagination: Pagination, reversed: Boolean): PaginationResult = transaction(database) { - select { valueColumn.eq(v) }.let { - it.count() to it.paginate(pagination, keyColumn to if (reversed) SortOrder.DESC else SortOrder.ASC).map { - it[keyColumn] - } + select { valueColumn.eq(v) }.selectPaginated( + pagination, + keyColumn, + reversed + ) { + it[keyColumn] } - }.let { (count, list) -> - list.createPaginationResult(pagination, count) } override suspend fun values(pagination: Pagination, reversed: Boolean): PaginationResult = transaction(database) { - selectAll().paginate(pagination, keyColumn to if (reversed) SortOrder.DESC else SortOrder.ASC).map { + selectAll().selectPaginated( + pagination, + keyColumn, + reversed + ) { it[valueColumn] } - }.createPaginationResult(pagination, count()) + } } From 020095f1ff3b13cf4073074e3d476e2e86d7080e Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 30 Aug 2022 17:37:59 +0600 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2b0c9f3e4f..dd05f91b5a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.12.5 +* `Repos`: + * `Exposed`: + * Fixes in `paginate` extensions + ## 0.12.4 * `Versions`: