diff --git a/CHANGELOG.md b/CHANGELOG.md index 13a128e2600..b1fb9636a73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.28.0 + ## 0.27.0 * `Versions`: diff --git a/build.gradle b/build.gradle index ef380d4d69c..041969e91f3 100644 --- a/build.gradle +++ b/build.gradle @@ -44,6 +44,11 @@ allprojects { maven { url "https://nexus.inmo.dev/repository/maven-releases/" } mavenLocal() } + + + it.tasks.withType(AbstractTestTask).configureEach { + it.failOnNoDiscoveredTests = false + } } apply from: "./extensions.gradle" diff --git a/dokka/build.gradle b/dokka/build.gradle index 86d156f90d3..e7e3d7a79e0 100644 --- a/dokka/build.gradle +++ b/dokka/build.gradle @@ -26,7 +26,7 @@ kotlin { project.parent.subprojects.forEach { if ( - it != project + it.name != project.name && it.hasProperty("kotlin") && it.kotlin.sourceSets.any { it.name.contains("commonMain") } && it.kotlin.sourceSets.any { it.name.contains("jsMain") } @@ -44,7 +44,7 @@ kotlin { project.parent.subprojects.forEach { if ( - it != project + it.name != project.name && it.hasProperty("kotlin") && it.kotlin.sourceSets.any { it.name.contains("commonMain") } && it.kotlin.sourceSets.any { it.name.contains("jsMain") } @@ -60,7 +60,7 @@ kotlin { project.parent.subprojects.forEach { if ( - it != project + it.name != project.name && it.hasProperty("kotlin") && it.kotlin.sourceSets.any { it.name.contains("commonMain") } && it.kotlin.sourceSets.any { it.name.contains("jvmMain") } @@ -76,7 +76,7 @@ kotlin { project.parent.subprojects.forEach { if ( - it != project + it.name != project.name && it.hasProperty("kotlin") && it.kotlin.sourceSets.any { it.name.contains("commonMain") } && it.kotlin.sourceSets.any { it.name.contains("androidMain") } diff --git a/github_release.gradle b/github_release.gradle index 7a41aa72913..af5e2b6f59a 100644 --- a/github_release.gradle +++ b/github_release.gradle @@ -1,9 +1,15 @@ +interface InjectedExecOps { + @Inject //@javax.inject.Inject + ExecOperations getExecOps() +} private String getCurrentVersionChangelog() { OutputStream changelogDataOS = new ByteArrayOutputStream() - exec { + + def injected = project.objects.newInstance(InjectedExecOps) + injected.execOps.exec { commandLine 'chmod', "+x", './changelog_parser.sh' } - exec { + injected.execOps.exec { standardOutput = changelogDataOS commandLine './changelog_parser.sh', "${project.version}", 'CHANGELOG.md' } diff --git a/gradle.properties b/gradle.properties index cb059647826..aaf41096ef1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,5 +18,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.27.0 -android_code_version=308 +version=0.28.0 +android_code_version=309 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b24985cbd46..10b96d634b2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -kt = "2.2.21" -kt-serialization = "1.9.0" +kt = "2.3.0" +kt-serialization = "1.10.0" kt-coroutines = "1.10.2" kotlinx-browser = "0.5.0" @@ -11,7 +11,7 @@ kslog = "1.5.2" jb-compose = "1.10.0" jb-compose-material3 = "1.10.0-alpha05" jb-compose-icons = "1.7.8" -jb-exposed = "0.61.0" +jb-exposed = "1.0.0" jb-dokka = "2.1.0" # 3.51.0.0 contains bug, checking with ./gradlew :micro_utils.repos.exposed:jvmTest @@ -20,7 +20,7 @@ sqlite = "3.50.1.0" korlibs = "5.4.0" uuid = "0.8.4" -ktor = "3.3.3" +ktor = "3.4.0" gh-release = "2.5.2" @@ -32,7 +32,7 @@ ksp = "2.3.4" kotlin-poet = "2.2.0" versions = "0.53.0" -nmcp = "1.2.0" +nmcp = "1.2.1" android-gradle = "8.12.+" dexcount = "4.0.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3ae1e2f124c..5dc98dbcf36 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/language_codes/generator/build.gradle b/language_codes/generator/build.gradle index cee60da0a9f..c49dd233e78 100644 --- a/language_codes/generator/build.gradle +++ b/language_codes/generator/build.gradle @@ -23,7 +23,9 @@ dependencies { implementation libs.ktor.client.java } -mainClassName="MainKt" +application { + mainClass = "MainKt" +} java { sourceCompatibility = JavaVersion.VERSION_17 diff --git a/pagination/exposed/build.gradle b/pagination/exposed/build.gradle index dd919ba191e..aa1b8194a0c 100644 --- a/pagination/exposed/build.gradle +++ b/pagination/exposed/build.gradle @@ -14,7 +14,7 @@ kotlin { } jvmMain { dependencies { - api libs.jb.exposed + api libs.jb.exposed.jdbc } } } 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 f16fb6dcbcb..3965f694872 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 @@ -1,6 +1,8 @@ package dev.inmo.micro_utils.pagination -import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.v1.core.Expression +import org.jetbrains.exposed.v1.core.SortOrder +import org.jetbrains.exposed.v1.jdbc.Query fun Query.paginate(with: Pagination, orderBy: Pair, SortOrder>? = null) = limit(with.size) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt index 86585fac4d6..0bd28978fea 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt @@ -2,8 +2,8 @@ package dev.inmo.micro_utils.repos.exposed import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.repos.ReadCRUDRepo -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.jdbc.transactions.transaction abstract class AbstractExposedReadCRUDRepo( tableName: String diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt index c1450e972f3..386e13395c0 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt @@ -4,9 +4,12 @@ import dev.inmo.micro_utils.repos.UpdatedValuePair import dev.inmo.micro_utils.repos.WriteCRUDRepo import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.statements.* -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.statements.InsertStatement +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.deleteWhere +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction +import org.jetbrains.exposed.v1.jdbc.update import java.util.Objects abstract class AbstractExposedWriteCRUDRepo( @@ -93,7 +96,7 @@ abstract class AbstractExposedWriteCRUDRepo( return transaction(db = database) { update( { - selectById(this, id) + selectById( id) } ) { update(id, value, it as UpdateBuilder) @@ -102,7 +105,7 @@ abstract class AbstractExposedWriteCRUDRepo( if (it > 0) { transaction(db = database) { selectAll().where { - selectById(this, id) + selectById(id) }.limit(1).firstOrNull() ?.asObject } } else { @@ -137,7 +140,7 @@ abstract class AbstractExposedWriteCRUDRepo( override suspend fun deleteById(ids: List) { onBeforeDelete(ids) transaction(db = database) { - val deleted = deleteWhere { selectByIds(it, ids) } + val deleted = deleteWhere { selectByIds(ids) } if (deleted == ids.size) { ids } else { diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnAllocator.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnAllocator.kt index 74bebd14606..dcc332ead1e 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnAllocator.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnAllocator.kt @@ -1,6 +1,6 @@ package dev.inmo.micro_utils.repos.exposed -import org.jetbrains.exposed.sql.Column -import org.jetbrains.exposed.sql.Table +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.Table typealias ColumnAllocator = Table.() -> Column \ No newline at end of file diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnEqOrNull.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnEqOrNull.kt index 29bc98f6251..ab092ffdd3d 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnEqOrNull.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ColumnEqOrNull.kt @@ -1,10 +1,10 @@ package dev.inmo.micro_utils.repos.exposed -import org.jetbrains.exposed.sql.Column -import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq -import org.jetbrains.exposed.sql.SqlExpressionBuilder.isNotNull -import org.jetbrains.exposed.sql.SqlExpressionBuilder.isNull -import org.jetbrains.exposed.sql.SqlExpressionBuilder.neq +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.isNotNull +import org.jetbrains.exposed.v1.core.isNull +import org.jetbrains.exposed.v1.core.neq fun Column.eqOrIsNull( value: T? 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 e4cad290308..5559b2a9ec7 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 @@ -1,12 +1,14 @@ package dev.inmo.micro_utils.repos.exposed -import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.or interface CommonExposedRepo : ExposedRepo { val ResultRow.asObject: ObjectType val ResultRow.asId: IdType - val selectById: ISqlExpressionBuilder.(IdType) -> Op - val selectByIds: ISqlExpressionBuilder.(List) -> Op + val selectById: (IdType) -> Op + val selectByIds: (List) -> Op get() = { if (it.isEmpty()) { Op.FALSE diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedCRUDRepo.kt index 258e62b7950..1ca95387328 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedCRUDRepo.kt @@ -1,5 +1,3 @@ package dev.inmo.micro_utils.repos.exposed -import org.jetbrains.exposed.sql.* - interface ExposedCRUDRepo : CommonExposedRepo diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedRepo.kt index 33705a71ef3..0e36da4d996 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedRepo.kt @@ -1,7 +1,11 @@ package dev.inmo.micro_utils.repos.exposed import dev.inmo.micro_utils.repos.Repo -import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.v1.core.FieldSet +import org.jetbrains.exposed.v1.core.Transaction +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.Query +import org.jetbrains.exposed.v1.jdbc.selectAll interface ExposedRepo : Repo, FieldSet { val database: Database diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedTableInitialization.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedTableInitialization.kt index 5d7802338bf..425e0047e56 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedTableInitialization.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/ExposedTableInitialization.kt @@ -1,11 +1,15 @@ package dev.inmo.micro_utils.repos.exposed -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.SchemaUtils.addMissingColumnsStatements -import org.jetbrains.exposed.sql.SchemaUtils.checkMappingConsistence -import org.jetbrains.exposed.sql.SchemaUtils.createStatements -import org.jetbrains.exposed.sql.transactions.TransactionManager -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.core.Transaction +import org.jetbrains.exposed.v1.core.exposedLogger +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.SchemaUtils +import org.jetbrains.exposed.v1.jdbc.SchemaUtils.addMissingColumnsStatements +import org.jetbrains.exposed.v1.jdbc.SchemaUtils.checkMappingConsistence +import org.jetbrains.exposed.v1.jdbc.transactions.TransactionManager +import org.jetbrains.exposed.v1.jdbc.transactions.transaction + /** * Code in this function mostly duplicates Exposed [SchemaUtils.createMissingTablesAndColumns]. It made due to deprecation @@ -41,9 +45,9 @@ fun initTablesInTransaction(vararg tables: Table, database: Database, inBatch: B } } with(TransactionManager.current()) { - db.dialect.resetCaches() + db.dialectMetadata.resetCaches() val createStatements = logTimeSpent("Preparing create tables statements", withLogs) { - createStatements(*tables) + SchemaUtils.createStatements(*tables) } logTimeSpent("Executing create tables statements", withLogs) { execStatements(inBatch, createStatements) @@ -66,7 +70,7 @@ fun initTablesInTransaction(vararg tables: Table, database: Database, inBatch: B execStatements(inBatch, modifyTablesStatements) commit() } - db.dialect.resetCaches() + db.dialectMetadata.resetCaches() } } } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt index 74ca058b1ec..85e1d3f1f6c 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt @@ -3,9 +3,14 @@ package dev.inmo.micro_utils.repos.exposed.keyvalue import dev.inmo.micro_utils.repos.KeyValueRepo import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.statements.* -import org.jetbrains.exposed.sql.transactions.transaction +import kotlinx.coroutines.flow.update +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.deleteAll +import org.jetbrains.exposed.v1.jdbc.deleteWhere +import org.jetbrains.exposed.v1.jdbc.update +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction abstract class AbstractExposedKeyValueRepo( override val database: Database, @@ -54,7 +59,7 @@ abstract class AbstractExposedKeyValueRepo( override suspend fun unset(toUnset: List) { transaction(database) { toUnset.mapNotNull { item -> - if (deleteWhere { selectById(it, item) } > 0) { + if (deleteWhere { selectById(item) } > 0) { item } else { null @@ -69,7 +74,7 @@ abstract class AbstractExposedKeyValueRepo( transaction(database) { toUnset.flatMap { val keys = selectAll().where { selectByValue(it) }.mapNotNull { it.asKey } - deleteWhere { selectByIds(it, keys) } + deleteWhere { selectByIds(keys) } keys } }.distinct().forEach { diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt index 6d8b11a9e9f..0ea45ae85e9 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt @@ -4,8 +4,12 @@ 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 +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.transactions.transaction abstract class AbstractExposedReadKeyValueRepo( override val database: Database, @@ -21,7 +25,7 @@ abstract class AbstractExposedReadKeyValueRepo( abstract val ResultRow.asKey: Key override val ResultRow.asId: Key get() = asKey - abstract val selectByValue: ISqlExpressionBuilder.(Value) -> Op + abstract val selectByValue: (Value) -> Op override suspend fun get(k: Key): Value? = transaction(database) { selectAll().where { selectById(k) }.limit(1).firstOrNull() ?.asObject diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt index 491d04a96d8..b1beb7dd9b2 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt @@ -4,11 +4,14 @@ import dev.inmo.micro_utils.repos.KeyValueRepo import dev.inmo.micro_utils.repos.exposed.ColumnAllocator import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq -import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList -import org.jetbrains.exposed.sql.SqlExpressionBuilder.inSubQuery -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.inList +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.deleteAll +import org.jetbrains.exposed.v1.jdbc.deleteWhere +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction +import org.jetbrains.exposed.v1.jdbc.update open class ExposedKeyValueRepo( database: Database, 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 2c3b33a53ac..cf75a6d1449 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 @@ -1,13 +1,13 @@ 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.statements.InsertStatement -import org.jetbrains.exposed.sql.statements.UpdateBuilder -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.jdbc.Database open class ExposedReadKeyValueRepo( database: Database, @@ -20,10 +20,10 @@ open class ExposedReadKeyValueRepo( val valueColumn: Column = valueColumnAllocator() override val ResultRow.asKey: Key get() = get(keyColumn) - override val selectByValue: ISqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } + override val selectByValue: (Value) -> Op = { valueColumn.eq(it) } override val ResultRow.asObject: Value get() = get(valueColumn) - override val selectById: ISqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } + override val selectById: (Key) -> Op = { keyColumn.eq(it) } override val primaryKey: Table.PrimaryKey get() = PrimaryKey(keyColumn, valueColumn) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValuesRepo.kt index 50df2d107e6..e7fea9377ce 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValuesRepo.kt @@ -3,9 +3,13 @@ package dev.inmo.micro_utils.repos.exposed.onetomany import dev.inmo.micro_utils.repos.KeyValuesRepo import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.statements.UpdateBuilder -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.and +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.batchInsert +import org.jetbrains.exposed.v1.jdbc.deleteWhere +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction abstract class AbstractExposedKeyValuesRepo( override val database: Database, @@ -60,7 +64,7 @@ abstract class AbstractExposedKeyValuesRepo( val oldObjects = selectAll().where { selectByIds(toSet.keys.toList()) }.map { it.asKey to it.asObject } deleteWhere { - selectByIds(it, toSet.keys.toList()) + selectByIds(toSet.keys.toList()) } val inserted = batchInsert( prepreparedData, @@ -104,7 +108,7 @@ abstract class AbstractExposedKeyValuesRepo( transaction(database) { toRemove.keys.flatMap { k -> toRemove[k] ?.mapNotNull { v -> - if (deleteWhere { selectById(it, k).and(SqlExpressionBuilder.selectByValue(v)) } > 0 ) { + if (deleteWhere { selectById(k).and(selectByValue(v)) } > 0 ) { k to v } else { null @@ -118,7 +122,7 @@ abstract class AbstractExposedKeyValuesRepo( override suspend fun clear(k: Key) { transaction(database) { - deleteWhere { selectById(it, k) } + deleteWhere { selectById(k) } }.also { _onDataCleared.emit(k) } } } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValuesRepo.kt index 95563e43724..6404b547ede 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValuesRepo.kt @@ -4,8 +4,14 @@ import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.repos.ReadKeyValuesRepo 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 +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.SortOrder +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.core.and +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.transactions.transaction abstract class AbstractExposedReadKeyValuesRepo( override val database: Database, @@ -17,7 +23,7 @@ abstract class AbstractExposedReadKeyValuesRepo( abstract val ResultRow.asKey: Key override val ResultRow.asId: Key get() = asKey - abstract val selectByValue: ISqlExpressionBuilder.(Value) -> Op + abstract val selectByValue: (Value) -> Op override suspend fun count(k: Key): Long = transaction(database) { selectAll().where { selectById(k) }.count() } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt index da7a46cde7b..b21838c9a05 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt @@ -4,10 +4,13 @@ import dev.inmo.micro_utils.repos.KeyValuesRepo import dev.inmo.micro_utils.repos.exposed.ColumnAllocator import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq -import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.and +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.inList +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.deleteWhere +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction typealias ExposedOneToManyKeyValueRepo1 = ExposedKeyValuesRepo open class ExposedKeyValuesRepo( @@ -34,7 +37,7 @@ open class ExposedKeyValuesRepo( get() = _onDataCleared override suspend fun add(toAdd: Map>) { - transaction(database) { + transaction (database) { toAdd.keys.flatMap { k -> toAdd[k] ?.mapNotNull { v -> if (selectAll().where { keyColumn.eq(k).and(valueColumn.eq(v)) }.limit(1).count() > 0) { @@ -73,7 +76,7 @@ open class ExposedKeyValuesRepo( override suspend fun removeWithValue(v: Value) { transaction(database) { val keys = selectAll().where { selectByValue(v) }.map { it.asKey } - deleteWhere { SqlExpressionBuilder.selectByValue(v) } + deleteWhere { selectByValue(v) } keys }.forEach { _onValueRemoved.emit(it to v) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt index 2efcaf6880c..b4af1afdc64 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt @@ -2,7 +2,11 @@ package dev.inmo.micro_utils.repos.exposed.onetomany import dev.inmo.micro_utils.repos.ReadKeyValuesRepo import dev.inmo.micro_utils.repos.exposed.* -import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.v1.core.Column +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.jdbc.Database typealias ExposedReadOneToManyKeyValueRepo = ExposedReadKeyValuesRepo @@ -15,10 +19,10 @@ open class ExposedReadKeyValuesRepo( override val keyColumn: Column = keyColumnAllocator() override val ResultRow.asKey: Key get() = get(keyColumn) - override val selectByValue: ISqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } + override val selectByValue: (Value) -> Op = { valueColumn.eq(it) } override val ResultRow.asObject: Value get() = get(valueColumn) - override val selectById: ISqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } + override val selectById: (Key) -> Op = { keyColumn.eq(it) } val valueColumn: Column = valueColumnAllocator() init { initTable() } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/utils/PaginatedSelect.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/utils/PaginatedSelect.kt index a1a327e4e07..4bbb026c8f3 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/utils/PaginatedSelect.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/utils/PaginatedSelect.kt @@ -1,7 +1,10 @@ package dev.inmo.micro_utils.repos.exposed.utils import dev.inmo.micro_utils.pagination.* -import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.v1.core.Expression +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.SortOrder +import org.jetbrains.exposed.v1.jdbc.Query fun Query.selectPaginated( pagination: Pagination, diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/versions/ExposedStandardVersionsRepoProxy.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/versions/ExposedStandardVersionsRepoProxy.kt index e193eb4a0f7..5e90ee57df2 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/versions/ExposedStandardVersionsRepoProxy.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/versions/ExposedStandardVersionsRepoProxy.kt @@ -3,8 +3,12 @@ package dev.inmo.micro_utils.repos.exposed.versions import dev.inmo.micro_utils.repos.exposed.ExposedRepo import dev.inmo.micro_utils.repos.exposed.initTable import dev.inmo.micro_utils.repos.versions.* -import org.jetbrains.exposed.sql.* -import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.v1.core.Table +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.insert +import org.jetbrains.exposed.v1.jdbc.transactions.transaction +import org.jetbrains.exposed.v1.jdbc.update /** * Use this method to create [StandardVersionsRepo] based on [Database] with [ExposedStandardVersionsRepoProxy] as diff --git a/repos/exposed/src/jvmTest/kotlin/Database.kt b/repos/exposed/src/jvmTest/kotlin/Database.kt index 6a7c2edfb75..7e4f198cfe1 100644 --- a/repos/exposed/src/jvmTest/kotlin/Database.kt +++ b/repos/exposed/src/jvmTest/kotlin/Database.kt @@ -1,8 +1,8 @@ package full import com.benasher44.uuid.uuid4 -import org.jetbrains.exposed.sql.Database -import org.jetbrains.exposed.sql.transactions.transactionManager +import org.jetbrains.exposed.v1.jdbc.Database +import org.jetbrains.exposed.v1.jdbc.transactions.transactionManager import org.sqlite.JDBC import java.io.File import java.sql.Connection diff --git a/repos/exposed/src/jvmTest/kotlin/ExposedCRUDRepoTests.kt b/repos/exposed/src/jvmTest/kotlin/ExposedCRUDRepoTests.kt index 430bbcd0994..b88c5c4bbe6 100644 --- a/repos/exposed/src/jvmTest/kotlin/ExposedCRUDRepoTests.kt +++ b/repos/exposed/src/jvmTest/kotlin/ExposedCRUDRepoTests.kt @@ -5,12 +5,12 @@ import dev.inmo.micro_utils.repos.CRUDRepo import dev.inmo.micro_utils.repos.common.tests.CommonCRUDRepoTests import dev.inmo.micro_utils.repos.exposed.AbstractExposedCRUDRepo import dev.inmo.micro_utils.repos.exposed.initTable -import org.jetbrains.exposed.sql.Database -import org.jetbrains.exposed.sql.ISqlExpressionBuilder -import org.jetbrains.exposed.sql.Op -import org.jetbrains.exposed.sql.ResultRow -import org.jetbrains.exposed.sql.statements.InsertStatement -import org.jetbrains.exposed.sql.statements.UpdateBuilder +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.statements.InsertStatement +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.Database import java.io.File import kotlin.test.AfterTest import kotlin.test.BeforeTest @@ -29,7 +29,7 @@ class ExposedCRUDRepoTests : CommonCRUDRepoTests() { asId, get(dataColumn) ) - override val selectById: ISqlExpressionBuilder.(String) -> Op = { idColumn.eq(it) } + override val selectById: (String) -> Op = { idColumn.eq(it) } init { initTable() diff --git a/repos/exposed/src/jvmTest/kotlin/ExposedKeyValueRepoTests.kt b/repos/exposed/src/jvmTest/kotlin/ExposedKeyValueRepoTests.kt index 7c325d90c61..d743e3d8aa1 100644 --- a/repos/exposed/src/jvmTest/kotlin/ExposedKeyValueRepoTests.kt +++ b/repos/exposed/src/jvmTest/kotlin/ExposedKeyValueRepoTests.kt @@ -4,11 +4,11 @@ import dev.inmo.micro_utils.repos.KeyValueRepo import dev.inmo.micro_utils.repos.common.tests.CommonKeyValueRepoTests import dev.inmo.micro_utils.repos.exposed.initTable import dev.inmo.micro_utils.repos.exposed.keyvalue.AbstractExposedKeyValueRepo -import org.jetbrains.exposed.sql.Database -import org.jetbrains.exposed.sql.ISqlExpressionBuilder -import org.jetbrains.exposed.sql.Op -import org.jetbrains.exposed.sql.ResultRow -import org.jetbrains.exposed.sql.statements.UpdateBuilder +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.Database import java.io.File import kotlin.test.AfterTest import kotlin.test.BeforeTest @@ -22,10 +22,10 @@ class ExposedKeyValueRepoTests : CommonKeyValueRepoTests() { override val ResultRow.asKey: String get() = get(keyColumn) - override val selectByValue: ISqlExpressionBuilder.(String) -> Op = { dataColumn.eq(it) } + override val selectByValue: (String) -> Op = { dataColumn.eq(it) } override val ResultRow.asObject: String get() = get(dataColumn) - override val selectById: ISqlExpressionBuilder.(String) -> Op = { keyColumn.eq(it) } + override val selectById: (String) -> Op = { keyColumn.eq(it) } init { initTable() diff --git a/repos/exposed/src/jvmTest/kotlin/ExposedKeyValuesRepoTests.kt b/repos/exposed/src/jvmTest/kotlin/ExposedKeyValuesRepoTests.kt index 9bafab6fa5c..7fd9d79118f 100644 --- a/repos/exposed/src/jvmTest/kotlin/ExposedKeyValuesRepoTests.kt +++ b/repos/exposed/src/jvmTest/kotlin/ExposedKeyValuesRepoTests.kt @@ -4,11 +4,11 @@ import dev.inmo.micro_utils.repos.KeyValuesRepo import dev.inmo.micro_utils.repos.common.tests.CommonKeyValuesRepoTests import dev.inmo.micro_utils.repos.exposed.initTable import dev.inmo.micro_utils.repos.exposed.onetomany.AbstractExposedKeyValuesRepo -import org.jetbrains.exposed.sql.Database -import org.jetbrains.exposed.sql.ISqlExpressionBuilder -import org.jetbrains.exposed.sql.Op -import org.jetbrains.exposed.sql.ResultRow -import org.jetbrains.exposed.sql.statements.UpdateBuilder +import org.jetbrains.exposed.v1.core.Op +import org.jetbrains.exposed.v1.core.ResultRow +import org.jetbrains.exposed.v1.core.eq +import org.jetbrains.exposed.v1.core.statements.UpdateBuilder +import org.jetbrains.exposed.v1.jdbc.Database import java.io.File import kotlin.test.AfterTest import kotlin.test.BeforeTest @@ -22,10 +22,10 @@ class ExposedKeyValuesRepoTests : CommonKeyValuesRepoTests() { override val ResultRow.asKey: String get() = get(keyColumn) - override val selectByValue: ISqlExpressionBuilder.(String) -> Op = { dataColumn.eq(it) } + override val selectByValue: (String) -> Op = { dataColumn.eq(it) } override val ResultRow.asObject: String get() = get(dataColumn) - override val selectById: ISqlExpressionBuilder.(String) -> Op = { keyColumn.eq(it) } + override val selectById: (String) -> Op = { keyColumn.eq(it) } init { initTable()