From 4d54242286da5865856bb036c00db9f3d5a3d729 Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich <landgrafhomyak@gmail.com> Date: Wed, 4 Dec 2024 19:05:04 +0300 Subject: [PATCH] Turning some functions back to properties and minor fixes --- .../serdha/api/v0/ddl/ModuleCreator.kt | 4 +-- .../serdha/api/v0/ddl/TableCreator.kt | 6 +++-- .../serdha/api/v0/dml/DeleteCreator.kt | 2 +- .../serdha/api/v0/dml/InsertCreator.kt | 8 +++--- .../serdha/api/v0/dml/UpdateCreator.kt | 2 +- .../api/v0/runtime/transaction_methods.kt | 26 +++++++++---------- 6 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt index 2f9d31f..8aef13f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt @@ -55,11 +55,11 @@ public interface ModuleCreator { public fun <QueryUserWrapper : Any> createSelect(initializer: CreateSelect<QueryUserWrapper>): Select<QueryUserWrapper> - public interface CreateInsertParam<TableUserExtension : Any, QueryUserWrapper : Any> { + public interface CreateInsertParams<TableUserExtension : Any, QueryUserWrapper : Any> { public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertParams<TableUserExtension, QueryUserWrapper>): QueryUserWrapper } - public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertParams(table: Table<TableUserExtension, *>, initializer: CreateInsertParam<TableUserExtension, QueryUserWrapper>): Insert.InsertParams<QueryUserWrapper> + public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertParams(table: Table<TableUserExtension, *>, initializer: CreateInsertParams<TableUserExtension, QueryUserWrapper>): Insert.InsertParams<QueryUserWrapper> public interface CreateInsertFromQuery<TableUserExtension : Any, QueryUserWrapper : Any> { public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertFromQuery<TableUserExtension, QueryUserWrapper>): QueryUserWrapper diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt index be4fd17..1ad1f91 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt @@ -20,9 +20,11 @@ public interface TableCreator<TableUserExtension : Any> { public fun unique(name: String, distinctNulls: Boolean, vararg columns: Column<*, *, TableUserExtension>): UniqueConstraint<TableUserExtension> public fun check(name: String, constraint: Expression<Boolean, ColumnType.BOOLEAN, TableUserExtension>): CheckConstraint<TableUserExtension> - public fun rowIdColumn(): Column<RowId<TableUserExtension>, ColumnType<RowId<TableUserExtension>>, TableUserExtension> + @Suppress("PropertyName") + public val rowId_column: Column<RowId<TableUserExtension>, ColumnType<RowId<TableUserExtension>>, TableUserExtension> - public fun rowIdUniqueConstraint(): UniqueConstraint<TableUserExtension> + @Suppress("PropertyName") + public val rowId_uniqueConstraint: UniqueConstraint<TableUserExtension> public fun <TargetTableUserWrapper : Any, ColumnType1 : ColumnType<*>> foreignKey( fromColumn: Column<*, ColumnType1, TableUserExtension>, diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteCreator.kt index 61ee5b7..684309b 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteCreator.kt @@ -10,5 +10,5 @@ public interface DeleteCreator<TargetTableUserExtension : Any, QueryUserExtensio public fun limit(size: UInt) - public fun returning(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) + public val returning: _CommonQueryMethods._Returning<QueryUserExtension> } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertCreator.kt index 93f3362..feda927 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertCreator.kt @@ -21,14 +21,14 @@ public interface InsertCreator<TargetTableUserExtension : Any, QueryUserExtensio public fun onConflictIgnore(u: UniqueConstraint<TargetTableUserExtension>) - public fun returningInserted(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) + public val returningInserted: _CommonQueryMethods._Returning<QueryUserExtension> @Suppress("ClassName") - public interface _ReturningUpdated<TargetTableUserExtension : Any, QueryUserExtension : Any> { + public interface _ReturningUpdated<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonQueryMethods._Returning<QueryUserExtension> { public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> oldColumnValue(c: Column<RuntimeType, DatabaseType, TargetTableUserExtension>): Expression<RuntimeType, DatabaseType, QueryUserExtension> } - public fun returningUpdated(s: (_ReturningUpdated<TargetTableUserExtension, QueryUserExtension>) -> Unit) + public val returningUpdated: _ReturningUpdated<TargetTableUserExtension, QueryUserExtension> public interface InsertParams<TargetTableUserExtension : Any, QueryUserExtension : Any> : InsertCreator<TargetTableUserExtension, QueryUserExtension> { public class DataParam<@Suppress("unused") QueryUserExtension : Any> private constructor() @@ -39,7 +39,7 @@ public interface InsertCreator<TargetTableUserExtension : Any, QueryUserExtensio public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insertParam( column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, - paramName: String = column.name + paramName: String = column.name, ): InputParam<RuntimeType, DatabaseType, DataParam<QueryUserExtension>> public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insert(column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, expression: Expression<RuntimeType, DatabaseType, DataParam<QueryUserExtension>>) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateCreator.kt index 8379df4..c457479 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateCreator.kt @@ -19,5 +19,5 @@ public interface UpdateCreator<TargetTableUserExtension : Any, QueryUserExtensio @Suppress("SpellCheckingInspection") public fun offsetedLimit(offset: ULong, size: UInt) - public fun returning(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) + public val returning: _CommonQueryMethods._Returning<QueryUserExtension> } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt index 7a23034..639063e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt @@ -212,7 +212,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectSingleOr @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate( compiledQuery: Select<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -232,7 +232,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedSelectThenIterate( compiledQuery: Select<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -252,7 +252,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap( compiledQuery: Select<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract { @@ -273,7 +273,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap( @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedSelectThenMap( compiledQuery: Select<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract { @@ -480,7 +480,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.insertSingle( } @OptIn(LowLevelApi::class) -public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedInsertSingle( +public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedInsertSingle( compiledQuery: Insert.InsertParams<QueryUserWrapper>, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit, @@ -874,7 +874,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIterate( compiledQuery: Update<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -894,7 +894,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIt @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedUpdateReturningIterate( compiledQuery: Update<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -914,7 +914,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturningMap( compiledQuery: Update<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract { @@ -934,7 +934,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturnin @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedUpdateReturningMap( compiledQuery: Update<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract { @@ -1031,7 +1031,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIterate( compiledQuery: Delete<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -1051,7 +1051,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIt @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedDeleteReturningIterate( compiledQuery: Delete<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> Unit ) { contract { @@ -1071,7 +1071,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturningMap( compiledQuery: Delete<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract { @@ -1091,7 +1091,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturnin @OptIn(LowLevelApi::class) public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedDeleteReturningMap( compiledQuery: Delete<QueryUserWrapper>, - parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, + parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, rowsConsumer: (Row<QueryUserWrapper>) -> R ): List<R> { contract {