Turning some functions back to properties and minor fixes

This commit is contained in:
Andrew Golovashevich 2024-12-04 19:05:04 +03:00
parent c223684442
commit 4d54242286
6 changed files with 25 additions and 23 deletions

View File

@ -55,11 +55,11 @@ public interface ModuleCreator {
public fun <QueryUserWrapper : Any> createSelect(initializer: CreateSelect<QueryUserWrapper>): Select<QueryUserWrapper> 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 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 interface CreateInsertFromQuery<TableUserExtension : Any, QueryUserWrapper : Any> {
public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertFromQuery<TableUserExtension, QueryUserWrapper>): QueryUserWrapper public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertFromQuery<TableUserExtension, QueryUserWrapper>): QueryUserWrapper

View File

@ -20,9 +20,11 @@ public interface TableCreator<TableUserExtension : Any> {
public fun unique(name: String, distinctNulls: Boolean, vararg columns: Column<*, *, TableUserExtension>): UniqueConstraint<TableUserExtension> 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 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( public fun <TargetTableUserWrapper : Any, ColumnType1 : ColumnType<*>> foreignKey(
fromColumn: Column<*, ColumnType1, TableUserExtension>, fromColumn: Column<*, ColumnType1, TableUserExtension>,

View File

@ -10,5 +10,5 @@ public interface DeleteCreator<TargetTableUserExtension : Any, QueryUserExtensio
public fun limit(size: UInt) public fun limit(size: UInt)
public fun returning(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) public val returning: _CommonQueryMethods._Returning<QueryUserExtension>
} }

View File

@ -21,14 +21,14 @@ public interface InsertCreator<TargetTableUserExtension : Any, QueryUserExtensio
public fun onConflictIgnore(u: UniqueConstraint<TargetTableUserExtension>) public fun onConflictIgnore(u: UniqueConstraint<TargetTableUserExtension>)
public fun returningInserted(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) public val returningInserted: _CommonQueryMethods._Returning<QueryUserExtension>
@Suppress("ClassName") @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 <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 interface InsertParams<TargetTableUserExtension : Any, QueryUserExtension : Any> : InsertCreator<TargetTableUserExtension, QueryUserExtension> {
public class DataParam<@Suppress("unused") QueryUserExtension : Any> private constructor() 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( public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insertParam(
column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>,
paramName: String = column.name paramName: String = column.name,
): InputParam<RuntimeType, DatabaseType, DataParam<QueryUserExtension>> ): InputParam<RuntimeType, DatabaseType, DataParam<QueryUserExtension>>
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insert(column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, expression: Expression<RuntimeType, DatabaseType, DataParam<QueryUserExtension>>) public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insert(column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, expression: Expression<RuntimeType, DatabaseType, DataParam<QueryUserExtension>>)

View File

@ -19,5 +19,5 @@ public interface UpdateCreator<TargetTableUserExtension : Any, QueryUserExtensio
@Suppress("SpellCheckingInspection") @Suppress("SpellCheckingInspection")
public fun offsetedLimit(offset: ULong, size: UInt) public fun offsetedLimit(offset: ULong, size: UInt)
public fun returning(s: (_CommonQueryMethods._Returning<QueryUserExtension>) -> Unit) public val returning: _CommonQueryMethods._Returning<QueryUserExtension>
} }

View File

@ -212,7 +212,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectSingleOr
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate( public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate(
compiledQuery: Select<QueryUserWrapper>, compiledQuery: Select<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -232,7 +232,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedSelectThenIterate( public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedSelectThenIterate(
compiledQuery: Select<QueryUserWrapper>, compiledQuery: Select<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -252,7 +252,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap( public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap(
compiledQuery: Select<QueryUserWrapper>, compiledQuery: Select<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {
@ -273,7 +273,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap(
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedSelectThenMap( public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedSelectThenMap(
compiledQuery: Select<QueryUserWrapper>, compiledQuery: Select<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {
@ -480,7 +480,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.insertSingle(
} }
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedInsertSingle( public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedInsertSingle(
compiledQuery: Insert.InsertParams<QueryUserWrapper>, compiledQuery: Insert.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {}, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<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) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIterate( public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIterate(
compiledQuery: Update<QueryUserWrapper>, compiledQuery: Update<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -894,7 +894,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIt
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedUpdateReturningIterate( public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedUpdateReturningIterate(
compiledQuery: Update<QueryUserWrapper>, compiledQuery: Update<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -914,7 +914,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturningMap( public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturningMap(
compiledQuery: Update<QueryUserWrapper>, compiledQuery: Update<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {
@ -934,7 +934,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturnin
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedUpdateReturningMap( public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedUpdateReturningMap(
compiledQuery: Update<QueryUserWrapper>, compiledQuery: Update<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {
@ -1031,7 +1031,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIterate( public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIterate(
compiledQuery: Delete<QueryUserWrapper>, compiledQuery: Delete<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -1051,7 +1051,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIt
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedDeleteReturningIterate( public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedDeleteReturningIterate(
compiledQuery: Delete<QueryUserWrapper>, compiledQuery: Delete<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) { ) {
contract { contract {
@ -1071,7 +1071,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturningMap( public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturningMap(
compiledQuery: Delete<QueryUserWrapper>, compiledQuery: Delete<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {
@ -1091,7 +1091,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturnin
@OptIn(LowLevelApi::class) @OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedDeleteReturningMap( public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedDeleteReturningMap(
compiledQuery: Delete<QueryUserWrapper>, compiledQuery: Delete<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit, parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> { ): List<R> {
contract { contract {