Naming of DML interfaces

This commit is contained in:
Andrew Golovashevich 2025-01-03 16:44:08 +03:00
parent a4f66191c9
commit ed132ad276
15 changed files with 130 additions and 130 deletions

View File

@ -1,11 +1,11 @@
package ru.landgrafhomyak.serdha.api.v0.ddl.module
import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table
import ru.landgrafhomyak.serdha.api.v0.dml.Delete
import ru.landgrafhomyak.serdha.api.v0.dml.Insert
import ru.landgrafhomyak.serdha.api.v0.dml.InsertCreator
import ru.landgrafhomyak.serdha.api.v0.dml.Select
import ru.landgrafhomyak.serdha.api.v0.dml.Update
import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.dml.CreateInsertQueryScope
import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery
import ru.landgrafhomyak.serdha.api.v0.runtime.SynchronizedDatabase
import ru.landgrafhomyak.serdha.api.v0.runtime.Transaction
@ -101,7 +101,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createSelectQuery
*/
public fun createSelect(creator: ru.landgrafhomyak.serdha.api.v0.dml.SelectCreator<QueryUserWrapper>): QueryUserWrapper
public fun createSelect(creator: ru.landgrafhomyak.serdha.api.v0.dml.CreateSelectQueryScope<QueryUserWrapper>): QueryUserWrapper
}
/**
@ -115,7 +115,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createTemporarySelectQuery
*/
public fun <QueryUserWrapper : Any> createSelectQuery(initializer: SelectQueryCreator<QueryUserWrapper>): Select<QueryUserWrapper>
public fun <QueryUserWrapper : Any> createSelectQuery(initializer: SelectQueryCreator<QueryUserWrapper>): SelectQuery<QueryUserWrapper>
/**
* Creates 'SELECT' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -129,7 +129,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createSelectQuery
*/
public fun <QueryUserWrapper : Any> createTemporarySelectQuery(initializer: SelectQueryCreator<QueryUserWrapper>): Select<QueryUserWrapper>
public fun <QueryUserWrapper : Any> createTemporarySelectQuery(initializer: SelectQueryCreator<QueryUserWrapper>): SelectQuery<QueryUserWrapper>
/**
* Functional interface for creating 'INSERT ... VALUES' query.
@ -151,7 +151,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createInsertParamsQuery
*/
public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertParams<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createInsert(table: Table<TableUserExtension, *>, creator: CreateInsertQueryScope.InsertParams<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
}
/**
@ -166,7 +166,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createTemporaryInsertParamsQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertParamsQuery(table: Table<TableUserExtension, *>, initializer: InsertParamsQueryCreator<TableUserExtension, QueryUserWrapper>): Insert.InsertParams<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertParamsQuery(table: Table<TableUserExtension, *>, initializer: InsertParamsQueryCreator<TableUserExtension, QueryUserWrapper>): InsertQuery.InsertParams<QueryUserWrapper>
/**
* Creates 'INSERT ... VALUES' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -181,7 +181,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createInsertParamsQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryInsertParamsQuery(table: Table<TableUserExtension, *>, initializer: InsertParamsQueryCreator<TableUserExtension, QueryUserWrapper>): Insert.InsertParams<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryInsertParamsQuery(table: Table<TableUserExtension, *>, initializer: InsertParamsQueryCreator<TableUserExtension, QueryUserWrapper>): InsertQuery.InsertParams<QueryUserWrapper>
/**
* Functional interface for creating 'INSERT ... FROM' query.
@ -203,7 +203,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createInsertFromQueryQuery
*/
public fun createInsert(table: Table<TableUserExtension, *>, creator: InsertCreator.InsertFromQuery<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createInsert(table: Table<TableUserExtension, *>, creator: CreateInsertQueryScope.InsertFromQuery<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
}
/**
@ -217,7 +217,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createTemporaryInsertFromQueryQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertFromQueryQuery(table: Table<TableUserExtension, *>, initializer: InsertFromQueryQueryCreator<TableUserExtension, QueryUserWrapper>): Insert.InsertFromQuery<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertFromQueryQuery(table: Table<TableUserExtension, *>, initializer: InsertFromQueryQueryCreator<TableUserExtension, QueryUserWrapper>): InsertQuery.InsertFromQuery<QueryUserWrapper>
/**
* Creates 'INSERT ... FROM' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -231,7 +231,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createInsertFromQueryQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryInsertFromQueryQuery(table: Table<TableUserExtension, *>, initializer: InsertFromQueryQueryCreator<TableUserExtension, QueryUserWrapper>): Insert.InsertFromQuery<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryInsertFromQueryQuery(table: Table<TableUserExtension, *>, initializer: InsertFromQueryQueryCreator<TableUserExtension, QueryUserWrapper>): InsertQuery.InsertFromQuery<QueryUserWrapper>
/**
* Functional interface for creating 'UPDATE' query.
@ -253,7 +253,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createUpdateQuery
*/
public fun createUpdate(table: Table<TableUserExtension, *>, creator: ru.landgrafhomyak.serdha.api.v0.dml.UpdateCreator<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createUpdate(table: Table<TableUserExtension, *>, creator: ru.landgrafhomyak.serdha.api.v0.dml.CreateUpdateQueryScope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
}
/**
@ -267,7 +267,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createTemporaryUpdateQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQueryCreator<TableUserExtension, QueryUserWrapper>): Update<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQueryCreator<TableUserExtension, QueryUserWrapper>): UpdateQuery<QueryUserWrapper>
/**
* Creates 'UPDATE' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -281,7 +281,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createUpdateQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQueryCreator<TableUserExtension, QueryUserWrapper>): Update<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQueryCreator<TableUserExtension, QueryUserWrapper>): UpdateQuery<QueryUserWrapper>
/**
* Functional interface for creating 'DELETE' query.
@ -303,7 +303,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createDeleteQuery
*/
public fun createDelete(table: Table<TableUserExtension, *>, creator: ru.landgrafhomyak.serdha.api.v0.dml.DeleteCreator<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createDelete(table: Table<TableUserExtension, *>, creator: ru.landgrafhomyak.serdha.api.v0.dml.CreateDeleteQueryScope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
}
/**
@ -317,7 +317,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createTemporaryDeleteQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQueryCreator<TableUserExtension, QueryUserWrapper>): Delete<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQueryCreator<TableUserExtension, QueryUserWrapper>): DeleteQuery<QueryUserWrapper>
/**
* Creates 'DELETE' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -331,7 +331,7 @@ public interface CreateModuleScope {
*
* @see CreateModuleScope.createDeleteQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQueryCreator<TableUserExtension, QueryUserWrapper>): Delete<QueryUserWrapper>
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQueryCreator<TableUserExtension, QueryUserWrapper>): DeleteQuery<QueryUserWrapper>
/**
* Replaces [specified namespace][rootNs] with schema provided by [template].

View File

@ -3,12 +3,12 @@ package ru.landgrafhomyak.serdha.api.v0.dml
import ru.landgrafhomyak.serdha.api.v0.Expression
import ru.landgrafhomyak.serdha.api.v0.ddl.types.ColumnType
public interface DeleteCreator<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonQueryMethods<QueryUserExtension> {
public interface CreateDeleteQueryScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val targetTable: SelectedTable<TargetTableUserExtension, QueryUserExtension>
public fun where(expression: Expression<Boolean, ColumnType.BOOLEAN, QueryUserExtension>)
public fun limit(size: UInt)
public val returning: _CommonQueryMethods._Returning<QueryUserExtension>
public val returning: _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension>
}

View File

@ -5,32 +5,32 @@ import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column
import ru.landgrafhomyak.serdha.api.v0.ddl.types.ColumnType
import ru.landgrafhomyak.serdha.api.v0.ddl.table.UniqueIndex
public interface InsertCreator<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonQueryMethods<QueryUserExtension> {
public interface CreateInsertQueryScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val insertedValues: SelectedTable<TargetTableUserExtension, QueryUserExtension>
@Suppress("ClassName")
public interface _UpsertCreator<TargetTableUserExtension : Any, QueryUserExtension : Any> {
public interface _UpsertClauseScope<TargetTableUserExtension : Any, QueryUserExtension : Any> {
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> oldColumnValue(c: Column<RuntimeType, DatabaseType, TargetTableUserExtension>): Expression<RuntimeType, DatabaseType, QueryUserExtension>
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> updateColumn(c: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, e: Expression<RuntimeType, DatabaseType, QueryUserExtension>)
}
public fun onConflictUpdate(u: UniqueIndex<TargetTableUserExtension>, c: (_UpsertCreator<TargetTableUserExtension, QueryUserExtension>) -> Unit)
public fun onConflictUpdate(u: UniqueIndex<TargetTableUserExtension>, c: (_UpsertClauseScope<TargetTableUserExtension, QueryUserExtension>) -> Unit)
public fun onConflictThrow(u: UniqueIndex<TargetTableUserExtension>)
public fun onConflictIgnore(u: UniqueIndex<TargetTableUserExtension>)
public val returningInserted: _CommonQueryMethods._Returning<QueryUserExtension>
public val returningInserted: _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension>
@Suppress("ClassName")
public interface _ReturningUpdated<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonQueryMethods._Returning<QueryUserExtension> {
public interface _ReturningUpdatedClauseScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension> {
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> oldColumnValue(c: Column<RuntimeType, DatabaseType, TargetTableUserExtension>): Expression<RuntimeType, DatabaseType, QueryUserExtension>
}
public val returningUpdated: _ReturningUpdated<TargetTableUserExtension, QueryUserExtension>
public val returningUpdated: _ReturningUpdatedClauseScope<TargetTableUserExtension, QueryUserExtension>
public interface InsertParams<TargetTableUserExtension : Any, QueryUserExtension : Any> : InsertCreator<TargetTableUserExtension, QueryUserExtension> {
public interface InsertParams<TargetTableUserExtension : Any, QueryUserExtension : Any> : CreateInsertQueryScope<TargetTableUserExtension, QueryUserExtension> {
public class DataParam<@Suppress("unused") QueryUserExtension : Any> private constructor()
public val dataExpressionBuilder: Expression.Builder<DataParam<QueryUserExtension>>
@ -45,7 +45,7 @@ public interface InsertCreator<TargetTableUserExtension : Any, QueryUserExtensio
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insert(column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, expression: Expression<RuntimeType, DatabaseType, DataParam<QueryUserExtension>>)
}
public interface InsertFromQuery<TargetTableUserExtension : Any, QueryUserExtension : Any> : InsertCreator<TargetTableUserExtension, QueryUserExtension> {
public interface InsertFromQuery<TargetTableUserExtension : Any, QueryUserExtension : Any> : CreateInsertQueryScope<TargetTableUserExtension, QueryUserExtension> {
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> insert(column: Column<RuntimeType, DatabaseType, TargetTableUserExtension>, expression: Expression<RuntimeType, DatabaseType, QueryUserExtension>)
}
}

View File

@ -3,7 +3,7 @@ package ru.landgrafhomyak.serdha.api.v0.dml
import ru.landgrafhomyak.serdha.api.v0.Expression
import ru.landgrafhomyak.serdha.api.v0.ddl.types.ColumnType
public interface SelectCreator<QueryUserExtension : Any> : _CommonQueryMethods<QueryUserExtension>, _CommonQueryMethods._Returning<QueryUserExtension>{
public interface CreateSelectQueryScope<QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension>, _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension>{
public fun where(expression: Expression<Boolean, ColumnType.BOOLEAN, QueryUserExtension>)
public fun limit(size: UInt)

View File

@ -4,7 +4,7 @@ import ru.landgrafhomyak.serdha.api.v0.Expression
import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column
import ru.landgrafhomyak.serdha.api.v0.ddl.types.ColumnType
public interface UpdateCreator<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonQueryMethods<QueryUserExtension> {
public interface CreateUpdateQueryScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val targetTable: SelectedTable<TargetTableUserExtension, QueryUserExtension>
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> selectOldColumnValue(c: Column<RuntimeType, DatabaseType, TargetTableUserExtension>): Expression<RuntimeType, DatabaseType, QueryUserExtension>
@ -18,5 +18,5 @@ public interface UpdateCreator<TargetTableUserExtension : Any, QueryUserExtensio
@Suppress("SpellCheckingInspection")
public fun offsetedLimit(offset: ULong, size: UInt)
public val returning: _CommonQueryMethods._Returning<QueryUserExtension>
public val returning: _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension>
}

View File

@ -1,5 +0,0 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface Delete<QueryUserExtension : Any> : _CommonQueryMethods.CanBeSubquery<QueryUserExtension> {
public val userExtension: QueryUserExtension
}

View File

@ -0,0 +1,5 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface DeleteQuery<QueryUserExtension : Any> : _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> {
public val userExtension: QueryUserExtension
}

View File

@ -1,9 +1,9 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface Insert<QueryUserExtension : Any> {
public interface InsertQuery<QueryUserExtension : Any> {
public val userExtension: QueryUserExtension
public interface InsertParams<QueryUserExtension : Any> : Insert<QueryUserExtension>
public interface InsertParams<QueryUserExtension : Any> : InsertQuery<QueryUserExtension>
public interface InsertFromQuery<QueryUserExtension : Any> : Insert<QueryUserExtension>
public interface InsertFromQuery<QueryUserExtension : Any> : InsertQuery<QueryUserExtension>
}

View File

@ -1,6 +1,6 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface Select<QueryUserExtension : Any>: _CommonQueryMethods.CanBeSubquery<QueryUserExtension> {
public interface SelectQuery<QueryUserExtension : Any>: _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> {
public val userExtension: QueryUserExtension
public enum class Order {

View File

@ -1,5 +0,0 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface Update<QueryUserExtension : Any> : _CommonQueryMethods.CanBeSubquery<QueryUserExtension> {
public val userExtension: QueryUserExtension
}

View File

@ -0,0 +1,5 @@
package ru.landgrafhomyak.serdha.api.v0.dml
public interface UpdateQuery<QueryUserExtension : Any> : _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> {
public val userExtension: QueryUserExtension
}

View File

@ -9,7 +9,7 @@ import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter
import ru.landgrafhomyak.serdha.api.v0.runtime._ParametersSetter
@Suppress("ClassName")
public interface _CommonQueryMethods<QueryUserExtension : Any> {
public interface _CommonCreateQueryScope<QueryUserExtension : Any> {
public val types: ColumnType.Builder
public fun <SelectedTableUserExtension : Any> selectTable(t: Table<SelectedTableUserExtension, *>): SelectedTable<SelectedTableUserExtension, QueryUserExtension>
@ -27,30 +27,30 @@ public interface _CommonQueryMethods<QueryUserExtension : Any> {
public val updated: SelectedTable<SubqueryUserExtension, QueryUserExtension>
)
public fun <SubqueryUserExtension : Any> selectInsert(q: Insert.InsertParams<SubqueryUserExtension>, p: (SubqueryParametersSetter<SubqueryUserExtension, QueryUserExtension>) -> Unit): SelectedInsert<SubqueryUserExtension, QueryUserExtension>
public fun <SubqueryUserExtension : Any> selectInsert(q: InsertQuery.InsertParams<SubqueryUserExtension>, p: (SubqueryParametersSetter<SubqueryUserExtension, QueryUserExtension>) -> Unit): SelectedInsert<SubqueryUserExtension, QueryUserExtension>
@Suppress("FunctionName")
@LowLevelApi
public fun <SubqueryUserExtension : Any> _selectInsert(
q: Insert.InsertFromQuery<SubqueryUserExtension>,
q: InsertQuery.InsertFromQuery<SubqueryUserExtension>,
p: (SubqueryParametersSetter<SubqueryUserExtension, QueryUserExtension>) -> Unit,
r: (_ParametersSetter._Multi<InsertCreator.InsertParams.DataParam<SubqueryUserExtension>, Nothing>) -> Unit
r: (_ParametersSetter._Multi<CreateInsertQueryScope.InsertParams.DataParam<SubqueryUserExtension>, Nothing>) -> Unit
): SelectedInsert<SubqueryUserExtension, QueryUserExtension>
@OptIn(LowLevelApi::class)
public fun <SubqueryUserExtension : Any> selectInsertOne(
q: Insert.InsertFromQuery<SubqueryUserExtension>,
q: InsertQuery.InsertFromQuery<SubqueryUserExtension>,
p: (SubqueryParametersSetter<SubqueryUserExtension, QueryUserExtension>) -> Unit,
r: (ParametersSetter<InsertCreator.InsertParams.DataParam<SubqueryUserExtension>>) -> Unit
r: (ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<SubqueryUserExtension>>) -> Unit
): SelectedInsert<SubqueryUserExtension, QueryUserExtension> =
this._selectInsert(q, p, r)
@OptIn(LowLevelApi::class)
public fun <SubqueryUserExtension : Any, T> selectInsertMulti(
q: Insert.InsertFromQuery<SubqueryUserExtension>,
q: InsertQuery.InsertFromQuery<SubqueryUserExtension>,
p: (SubqueryParametersSetter<SubqueryUserExtension, QueryUserExtension>) -> Unit,
data: Iterable<T>,
r: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<SubqueryUserExtension>>) -> Unit
r: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<SubqueryUserExtension>>) -> Unit
): SelectedInsert<SubqueryUserExtension, QueryUserExtension> =
this._selectInsert(q, p) { rr -> for (e in data) r(e, rr) }
@ -58,12 +58,12 @@ public interface _CommonQueryMethods<QueryUserExtension : Any> {
public val expressionBuilder: Expression.Builder<QueryUserExtension>
public interface _Returning<QueryUserExtension : Any> {
public interface _ReturningClauseScope<QueryUserExtension : Any> {
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> returnExpression(expression: Expression<RuntimeType, DatabaseType, QueryUserExtension>): Column<RuntimeType, DatabaseType, QueryUserExtension>
public val isDistinct: Boolean
public fun orderBy(order: Select.Order, vararg columns: Expression<*, *, QueryUserExtension>)
public fun orderBy(order: SelectQuery.Order, vararg columns: Expression<*, *, QueryUserExtension>)
public fun groupBy(vararg columns: Expression<*, *, QueryUserExtension>)
}

View File

@ -4,11 +4,11 @@ import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.ddl.module.Module
import ru.landgrafhomyak.serdha.api.v0.ddl.types.RowId
import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table
import ru.landgrafhomyak.serdha.api.v0.dml.Delete
import ru.landgrafhomyak.serdha.api.v0.dml.Insert
import ru.landgrafhomyak.serdha.api.v0.dml.InsertCreator
import ru.landgrafhomyak.serdha.api.v0.dml.Select
import ru.landgrafhomyak.serdha.api.v0.dml.Update
import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.dml.CreateInsertQueryScope
import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery
public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<DatabaseUserExtension> {
@Suppress("FunctionName")
@ -17,23 +17,23 @@ public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<Data
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedSelect(query: Select<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>
public suspend fun <QueryUserWrapper : Any> _autoTransactedSelect(query: SelectQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedInsertParams(query: Insert.InsertParams<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<InsertCreator.InsertParams.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>>
public suspend fun <QueryUserWrapper : Any> _autoTransactedInsertParams(query: InsertQuery.InsertParams<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedInsertFromQuery(query: Insert.InsertFromQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>
public suspend fun <QueryUserWrapper : Any> _autoTransactedInsertFromQuery(query: InsertQuery.InsertFromQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedUpdate(query: Update<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public suspend fun <QueryUserWrapper : Any> _autoTransactedUpdate(query: UpdateQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedDelete(query: Delete<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public suspend fun <QueryUserWrapper : Any> _autoTransactedDelete(query: DeleteQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public interface AtomicScript<C, A, R> {
public suspend fun executeTransaction(transaction: Transaction, context: C, args: A): R

View File

@ -1,32 +1,32 @@
package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.dml.Delete
import ru.landgrafhomyak.serdha.api.v0.dml.Insert
import ru.landgrafhomyak.serdha.api.v0.dml.InsertCreator
import ru.landgrafhomyak.serdha.api.v0.dml.Select
import ru.landgrafhomyak.serdha.api.v0.dml.Update
import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.dml.CreateInsertQueryScope
import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery
public interface Transaction {
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _select(compiledQuery: Select<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>
public fun <QueryUserWrapper : Any> _select(compiledQuery: SelectQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _insertParams(compiledQuery: Insert.InsertParams<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<InsertCreator.InsertParams.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>>
public fun <QueryUserWrapper : Any> _insertParams(compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>>
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _insertFromQuery(compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>
public fun <QueryUserWrapper : Any> _insertFromQuery(compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _update(compiledQuery: Update<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public fun <QueryUserWrapper : Any> _update(compiledQuery: UpdateQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _delete(compiledQuery: Delete<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public fun <QueryUserWrapper : Any> _delete(compiledQuery: DeleteQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public suspend fun rollback()

View File

@ -6,11 +6,11 @@ import kotlin.contracts.InvocationKind
import kotlin.contracts.contract
import kotlin.jvm.JvmName
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.dml.Delete
import ru.landgrafhomyak.serdha.api.v0.dml.Insert
import ru.landgrafhomyak.serdha.api.v0.dml.InsertCreator
import ru.landgrafhomyak.serdha.api.v0.dml.Select
import ru.landgrafhomyak.serdha.api.v0.dml.Update
import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.dml.CreateInsertQueryScope
import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery
@Suppress("FunctionName")
@ -170,7 +170,7 @@ internal suspend inline fun <Q : Any, R> _wrapWithLambdasMap(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedSelectSingleOrNull(
compiledQuery: Select<QueryUserWrapper>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -190,7 +190,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectSingleOrNull(
compiledQuery: Select<QueryUserWrapper>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -211,7 +211,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectSingleOr
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate(
compiledQuery: Select<QueryUserWrapper>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -231,7 +231,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.selectThenIterate
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedSelectThenIterate(
compiledQuery: Select<QueryUserWrapper>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -251,7 +251,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.selectThenMap(
compiledQuery: Select<QueryUserWrapper>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {
@ -272,7 +272,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>,
compiledQuery: SelectQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {
@ -294,11 +294,11 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@PublishedApi
@OptIn(LowLevelApi::class)
internal suspend inline fun <Q : Any, T> _wrapInsertParamsWithLambdas(
compiledQuery: Insert.InsertParams<Q>,
queryGetter: () -> _ParametersSetter<Q, _ParametersSetter._Multi<InsertCreator.InsertParams.DataParam<Q>, _ResultSet<Q, _ResultSet<Q, Unit>>?>>,
compiledQuery: InsertQuery.InsertParams<Q>,
queryGetter: () -> _ParametersSetter<Q, _ParametersSetter._Multi<CreateInsertQueryScope.InsertParams.DataParam<Q>, _ResultSet<Q, _ResultSet<Q, Unit>>?>>,
parameters: (ParametersSetter<Q>) -> Unit,
data: Iterable<T>,
rowFormatter: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<Q>>) -> Unit,
rowFormatter: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<Q>>) -> Unit,
hasReturning: Boolean,
returningInserted: (_ResultSet<Q, *>) -> Unit,
returningUpdated: (_ResultSet<Q, *>) -> Unit,
@ -343,10 +343,10 @@ internal suspend inline fun <Q : Any, T> _wrapInsertParamsWithLambdas(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, T> Transaction.insertParams(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
data: Iterable<T>,
rowFormatter: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowFormatter: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
) {
contract {
callsInPlace(parameters, InvocationKind.EXACTLY_ONCE)
@ -367,10 +367,10 @@ public suspend inline fun <QueryUserWrapper : Any, T> Transaction.insertParams(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, T> SynchronizedDatabase<*>.autoTransactedInsertParams(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
data: Iterable<T>,
rowFormatter: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowFormatter: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
) {
contract {
callsInPlace(parameters, InvocationKind.EXACTLY_ONCE)
@ -391,10 +391,10 @@ public suspend inline fun <QueryUserWrapper : Any, T> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, T> Transaction.insertParamsReturningIterate(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
data: Iterable<T>,
rowFormatter: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowFormatter: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
insertedRows: (Row<QueryUserWrapper>) -> Unit,
updatedRows: (Row<QueryUserWrapper>) -> Unit,
) {
@ -417,10 +417,10 @@ public suspend inline fun <QueryUserWrapper : Any, T> Transaction.insertParamsRe
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, T> SynchronizedDatabase<*>.autoTransactedInsertParametersReturningIterate(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
data: Iterable<T>,
rowFormatter: (T, ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowFormatter: (T, ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
insertedRows: (Row<QueryUserWrapper>) -> Unit,
updatedRows: (Row<QueryUserWrapper>) -> Unit,
) {
@ -458,9 +458,9 @@ internal object SingleIterable : Iterable<Unit>, Iterator<Unit> {
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.insertSingle(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowData: (ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
) {
contract {
callsInPlace(parameters, InvocationKind.EXACTLY_ONCE)
@ -481,9 +481,9 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.insertSingle(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedInsertSingle(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
rowData: (ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit,
) {
contract {
callsInPlace(parameters, InvocationKind.EXACTLY_ONCE)
@ -505,9 +505,9 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@Suppress("DuplicatedCode")
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.insertSingleReturning(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit = {},
rowData: (ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> R,
updatedRows: (Row<QueryUserWrapper>) -> R
): R {
@ -550,9 +550,9 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.insertSingleRe
@Suppress("DuplicatedCode")
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedInsertSingleReturning(
compiledQuery: Insert.InsertParams<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertParams<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowData: (ParametersSetter<InsertCreator.InsertParams.DataParam<QueryUserWrapper>>) -> Unit = {},
rowData: (ParametersSetter<CreateInsertQueryScope.InsertParams.DataParam<QueryUserWrapper>>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> R,
updatedRows: (Row<QueryUserWrapper>) -> R
): R {
@ -596,7 +596,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@PublishedApi
@OptIn(LowLevelApi::class)
internal suspend inline fun <Q : Any> _wrapInsertFromQueryWithLambdas(
compiledQuery: Insert.InsertFromQuery<Q>,
compiledQuery: InsertQuery.InsertFromQuery<Q>,
queryGetter: () -> _ParametersSetter<Q, _ResultSet<Q, _ResultSet<Q, Unit>>?>,
parameters: (ParametersSetter<Q>) -> Unit,
hasReturning: Boolean,
@ -634,7 +634,7 @@ internal suspend inline fun <Q : Any> _wrapInsertFromQueryWithLambdas(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.insertFromQuery(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -653,7 +653,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.insertFromQuery(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedInsertFromQuery(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -672,7 +672,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.insertFromQueryReturningIterate(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> Unit,
updatedRows: (Row<QueryUserWrapper>) -> Unit
@ -695,7 +695,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.insertFromQueryRe
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedInsertFromQueryReturningIterate(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> Unit,
updatedRows: (Row<QueryUserWrapper>) -> Unit
@ -718,7 +718,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.insertFromQueryReturningSingleOrNull(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> R,
updatedRows: (Row<QueryUserWrapper>) -> R
@ -757,7 +757,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.insertFromQuer
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedInsertFromQueryReturningSingleOrNull(
compiledQuery: Insert.InsertFromQuery<QueryUserWrapper>,
compiledQuery: InsertQuery.InsertFromQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
insertedRows: (Row<QueryUserWrapper>) -> R,
updatedRows: (Row<QueryUserWrapper>) -> R
@ -796,7 +796,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.update(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -814,7 +814,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.update(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedUpdate(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -832,7 +832,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturningSingleOrNull(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -853,7 +853,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturnin
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedUpdateReturningSingleOrNull(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -873,7 +873,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIterate(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -893,7 +893,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.updateReturningIt
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedUpdateReturningIterate(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -913,7 +913,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.updateReturningMap(
compiledQuery: Update<QueryUserWrapper>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {
@ -933,7 +933,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>,
compiledQuery: UpdateQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {
@ -953,7 +953,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.delete(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -971,7 +971,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.delete(
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedDelete(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
) {
contract {
@ -989,7 +989,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturningSingleOrNull(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -1010,7 +1010,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturnin
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.autoTransactedDeleteReturningSingleOrNull(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): R? {
@ -1030,7 +1030,7 @@ public suspend inline fun <QueryUserWrapper : Any, R> SynchronizedDatabase<*>.au
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIterate(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -1050,7 +1050,7 @@ public suspend inline fun <QueryUserWrapper : Any> Transaction.deleteReturningIt
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoTransactedDeleteReturningIterate(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> Unit
) {
@ -1070,7 +1070,7 @@ public suspend inline fun <QueryUserWrapper : Any> SynchronizedDatabase<*>.autoT
@OptIn(LowLevelApi::class)
public suspend inline fun <QueryUserWrapper : Any, R> Transaction.deleteReturningMap(
compiledQuery: Delete<QueryUserWrapper>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {
@ -1090,7 +1090,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>,
compiledQuery: DeleteQuery<QueryUserWrapper>,
parameters: (ParametersSetter<QueryUserWrapper>) -> Unit = {},
rowsConsumer: (Row<QueryUserWrapper>) -> R
): List<R> {