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 {