Changing queries entry points from query-type to io-type

This commit is contained in:
Andrew Golovashevich 2025-01-26 19:32:00 +03:00
parent 02916994cd
commit 8695fca966
12 changed files with 66 additions and 1202 deletions

View File

@ -1,7 +1,7 @@
package ru.landgrafhomyak.serdha.api.v0.misc package ru.landgrafhomyak.serdha.api.v0.misc
import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime.InputRow
import ru.landgrafhomyak.serdha.api.v0.runtime.Row import ru.landgrafhomyak.serdha.api.v0.runtime.OutputRow
public interface Expression<ExpressionUserExtension : Any> { public interface Expression<ExpressionUserExtension : Any> {
public val userExtension: ExpressionUserExtension public val userExtension: ExpressionUserExtension
@ -36,6 +36,6 @@ public interface Expression<ExpressionUserExtension : Any> {
} }
public interface Action<ExpressionUserExtension : Any> { public interface Action<ExpressionUserExtension : Any> {
public fun calculate(input: Row<ExpressionUserExtension>, output: ParametersSetter<ExpressionUserExtension>) public fun calculate(input: OutputRow<ExpressionUserExtension>, output: InputRow<ExpressionUserExtension>)
} }
} }

View File

@ -4,7 +4,7 @@ import ru.landgrafhomyak.serdha.api.v0.misc.Column
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider
import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam
import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime.InputRow
import ru.landgrafhomyak.serdha.api.v0.table.Table import ru.landgrafhomyak.serdha.api.v0.table.Table
public interface DeleteQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> { public interface DeleteQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> {
@ -16,7 +16,7 @@ public interface DeleteQuery<QueryUserExtension : Any> : _Query<QueryUserExtensi
public val types: DatabaseTypesProvider public val types: DatabaseTypesProvider
public fun <RT, DT : DatabaseType<RT>> param(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> param(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension>
public val selectorParams: ParametersSetter.WithRedirect<SelectorTableUserExtension, QueryUserExtension> public val selectorParams: InputRow.WithRedirect<SelectorTableUserExtension, QueryUserExtension>
public var selectorColumn: Column<*, DatabaseType.ROW_ID<TargetTableUserExtension>, SelectorTableUserExtension> public var selectorColumn: Column<*, DatabaseType.ROW_ID<TargetTableUserExtension>, SelectorTableUserExtension>
public fun <RT, DT : DatabaseType<RT>> returnFromSubquery(name: String, column: Column<RT, DT, SelectorTableUserExtension>): Column<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> returnFromSubquery(name: String, column: Column<RT, DT, SelectorTableUserExtension>): Column<RT, DT, QueryUserExtension>

View File

@ -5,7 +5,7 @@ import ru.landgrafhomyak.serdha.api.v0.table.Table
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider
import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam
import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime.InputRow
import ru.landgrafhomyak.serdha.api.v0.table.UniqueIndex import ru.landgrafhomyak.serdha.api.v0.table.UniqueIndex
public interface InsertQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> { public interface InsertQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> {
@ -52,7 +52,7 @@ public interface InsertQuery<QueryUserExtension : Any> : _Query<QueryUserExtensi
public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any, SourceQueryUserExtension : Any> : _CommonInsertCreatorScope<QueryUserExtension, TargetTableUserExtension> { public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any, SourceQueryUserExtension : Any> : _CommonInsertCreatorScope<QueryUserExtension, TargetTableUserExtension> {
public fun <RT, DT : DatabaseType<RT>> queryParam(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> queryParam(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension>
public val sourceQueryParams: ParametersSetter.WithRedirect<SourceQueryUserExtension, QueryUserExtension> public val sourceQueryParams: InputRow.WithRedirect<SourceQueryUserExtension, QueryUserExtension>
public fun <RT, DT : DatabaseType<RT>> insertConstant(dst: Column<RT, DT, TargetTableUserExtension>, src: QueryParam<RT, DT, QueryUserExtension>) public fun <RT, DT : DatabaseType<RT>> insertConstant(dst: Column<RT, DT, TargetTableUserExtension>, src: QueryParam<RT, DT, QueryUserExtension>)
public fun <RT, DT : DatabaseType<RT>> insertFromSubquery(dst: Column<RT, DT, TargetTableUserExtension>, src: QueryParam<RT, DT, SourceQueryUserExtension>) public fun <RT, DT : DatabaseType<RT>> insertFromSubquery(dst: Column<RT, DT, TargetTableUserExtension>, src: QueryParam<RT, DT, SourceQueryUserExtension>)

View File

@ -6,7 +6,7 @@ import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider
import ru.landgrafhomyak.serdha.api.v0.misc.Expression import ru.landgrafhomyak.serdha.api.v0.misc.Expression
import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam
import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime.InputRow
public interface SelectQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> { public interface SelectQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> {
public enum class Order { public enum class Order {
@ -40,8 +40,8 @@ public interface SelectQuery<QueryUserExtension : Any> : _Query<QueryUserExtensi
public fun createSelectWithJoin(creator: Scope<QueryUserExtension, LeftTableUserExtension, RightTableUserExtension>): QueryUserExtension public fun createSelectWithJoin(creator: Scope<QueryUserExtension, LeftTableUserExtension, RightTableUserExtension>): QueryUserExtension
public interface Scope<QueryUserExtension : Any, LeftTableUserExtension : Any, RightTableUserExtension : Any> { public interface Scope<QueryUserExtension : Any, LeftTableUserExtension : Any, RightTableUserExtension : Any> {
public val leftSubqueryParams: ParametersSetter.WithRedirect<LeftTableUserExtension, QueryUserExtension> public val leftSubqueryParams: InputRow.WithRedirect<LeftTableUserExtension, QueryUserExtension>
public val rightSubqueryParams: ParametersSetter.WithRedirect<RightTableUserExtension, QueryUserExtension> public val rightSubqueryParams: InputRow.WithRedirect<RightTableUserExtension, QueryUserExtension>
public fun <RT, DT : DatabaseType<RT>> selectColumnFromLeft(column: Column<RT, DT, LeftTableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> selectColumnFromLeft(column: Column<RT, DT, LeftTableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension>
public fun <RT, DT : DatabaseType<RT>> selectColumnFromRight(column: Column<RT, DT, RightTableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> selectColumnFromRight(column: Column<RT, DT, RightTableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension>
@ -54,7 +54,7 @@ public interface SelectQuery<QueryUserExtension : Any> : _Query<QueryUserExtensi
public fun createSelect(creator: Scope<QueryUserExtension, TableUserExtension>): QueryUserExtension public fun createSelect(creator: Scope<QueryUserExtension, TableUserExtension>): QueryUserExtension
public interface Scope<QueryUserExtension : Any, TableUserExtension : Any> : _CommonSelectCreatorScope<QueryUserExtension> { public interface Scope<QueryUserExtension : Any, TableUserExtension : Any> : _CommonSelectCreatorScope<QueryUserExtension> {
public val subqueryParams: ParametersSetter.WithRedirect<TableUserExtension, QueryUserExtension> public val subqueryParams: InputRow.WithRedirect<TableUserExtension, QueryUserExtension>
public fun <RT, DT : DatabaseType<RT>> selectColumnFromSubquery(param: Column<RT, DT, TableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> selectColumnFromSubquery(param: Column<RT, DT, TableUserExtension>): IntermediateColumn<RT, DT, QueryUserExtension>
} }

View File

@ -5,7 +5,7 @@ import ru.landgrafhomyak.serdha.api.v0.table.Table
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider
import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam
import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime.InputRow
public interface UpdateQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> { public interface UpdateQuery<QueryUserExtension : Any> : _Query<QueryUserExtension> {
public interface FromSubquery<QueryUserExtension : Any> : UpdateQuery<QueryUserExtension>, _Query.Params2Table<QueryUserExtension> { public interface FromSubquery<QueryUserExtension : Any> : UpdateQuery<QueryUserExtension>, _Query.Params2Table<QueryUserExtension> {
@ -16,7 +16,7 @@ public interface UpdateQuery<QueryUserExtension : Any> : _Query<QueryUserExtensi
public val types: DatabaseTypesProvider public val types: DatabaseTypesProvider
public fun <RT, DT : DatabaseType<RT>> param(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension> public fun <RT, DT : DatabaseType<RT>> param(name: String, type: DT): QueryParam<RT, DT, QueryUserExtension>
public val selectorParams: ParametersSetter.WithRedirect<SelectorTableUserExtension, QueryUserExtension> public val selectorParams: InputRow.WithRedirect<SelectorTableUserExtension, QueryUserExtension>
public var selectorColumn: Column<*, DatabaseType.ROW_ID<TargetTableUserExtension>, SelectorTableUserExtension> public var selectorColumn: Column<*, DatabaseType.ROW_ID<TargetTableUserExtension>, SelectorTableUserExtension>
public fun <RT, DT : DatabaseType<RT>> updateColumnWithSubquery(dst: Column<RT, DT, TargetTableUserExtension>, src: Column<RT, DT, SelectorTableUserExtension>) public fun <RT, DT : DatabaseType<RT>> updateColumnWithSubquery(dst: Column<RT, DT, TargetTableUserExtension>, src: Column<RT, DT, SelectorTableUserExtension>)

View File

@ -1,9 +1,10 @@
package ru.landgrafhomyak.serdha.api.v0.runtime package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType
import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam import ru.landgrafhomyak.serdha.api.v0.misc.QueryParam
public interface ParametersSetter<QueryUserExtension : Any/* todo*/> { public interface InputRow<QueryUserExtension : Any/* todo*/> {
public operator fun <RuntimeType> set(c: QueryParam<RuntimeType, *, QueryUserExtension>, value: RuntimeType) public operator fun <RuntimeType> set(c: QueryParam<RuntimeType, *, QueryUserExtension>, value: RuntimeType)
public operator fun set(c: QueryParam<Byte, *, QueryUserExtension>, value: Byte): Unit = this.set<Byte>(c, value) public operator fun set(c: QueryParam<Byte, *, QueryUserExtension>, value: Byte): Unit = this.set<Byte>(c, value)
@ -17,7 +18,28 @@ public interface ParametersSetter<QueryUserExtension : Any/* todo*/> {
public operator fun set(c: QueryParam<Char, *, QueryUserExtension>, value: Char): Unit = this.set<Char>(c, value) public operator fun set(c: QueryParam<Char, *, QueryUserExtension>, value: Char): Unit = this.set<Char>(c, value)
public operator fun set(c: QueryParam<Boolean, *, QueryUserExtension>, value: Boolean): Unit = this.set<Boolean>(c, value) public operator fun set(c: QueryParam<Boolean, *, QueryUserExtension>, value: Boolean): Unit = this.set<Boolean>(c, value)
public interface WithRedirect<QueryUserExtension : Any, ParentQueryUserExtension : Any> : ParametersSetter<QueryUserExtension> { public interface WithRedirect<QueryUserExtension : Any, ParentQueryUserExtension : Any> : InputRow<QueryUserExtension> {
public fun <RT, DT : DatabaseType<RT>> redirect(c: QueryParam<RT, DT, QueryUserExtension>, value: QueryParam<RT, DT, ParentQueryUserExtension>) public fun <RT, DT : DatabaseType<RT>> redirect(c: QueryParam<RT, DT, QueryUserExtension>, value: QueryParam<RT, DT, ParentQueryUserExtension>)
} }
@Suppress("ClassName")
@LowLevelApi
public interface _Scope<QueryUserExtension : Any, out Next> : InputRow<QueryUserExtension> {
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _finish(): Next
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _abort()
}
@Suppress("ClassName")
@LowLevelApi
public interface _Iterator<QueryUserExtension : Any, out Next> : _Scope<QueryUserExtension, Next> {
@Suppress("FunctionName")
@LowLevelApi
public fun _next(): Boolean
}
} }

View File

@ -1,8 +1,9 @@
package ru.landgrafhomyak.serdha.api.v0.runtime package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.misc.Column import ru.landgrafhomyak.serdha.api.v0.misc.Column
public interface Row<QueryUserExtension : Any> { public interface OutputRow<QueryUserExtension : Any> {
public operator fun <RuntimeType> get(c: Column<RuntimeType, *, QueryUserExtension>): RuntimeType public operator fun <RuntimeType> get(c: Column<RuntimeType, *, QueryUserExtension>): RuntimeType
public operator fun get(c: Column<Byte, *, QueryUserExtension>): Byte = this.get<Byte>(c) public operator fun get(c: Column<Byte, *, QueryUserExtension>): Byte = this.get<Byte>(c)
@ -15,4 +16,20 @@ public interface Row<QueryUserExtension : Any> {
public operator fun get(c: Column<ULong, *, QueryUserExtension>): ULong = this.get<ULong>(c) public operator fun get(c: Column<ULong, *, QueryUserExtension>): ULong = this.get<ULong>(c)
public operator fun get(c: Column<Char, *, QueryUserExtension>): Char = this.get<Char>(c) public operator fun get(c: Column<Char, *, QueryUserExtension>): Char = this.get<Char>(c)
public operator fun get(c: Column<Boolean, *, QueryUserExtension>): Boolean = this.get<Boolean>(c) public operator fun get(c: Column<Boolean, *, QueryUserExtension>): Boolean = this.get<Boolean>(c)
@Suppress("ClassName")
@LowLevelApi
public interface _Iterator<QueryUserExtension : Any, out Next> : OutputRow<QueryUserExtension> {
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _next(): Boolean
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _abort()
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _finish(): Next
}
} }

View File

@ -4,11 +4,7 @@ import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.module.Module import ru.landgrafhomyak.serdha.api.v0.module.Module
import ru.landgrafhomyak.serdha.api.v0.table.RowId import ru.landgrafhomyak.serdha.api.v0.table.RowId
import ru.landgrafhomyak.serdha.api.v0.table.Table import ru.landgrafhomyak.serdha.api.v0.table.Table
import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery import ru.landgrafhomyak.serdha.api.v0.queries._Query
import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery
public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<DatabaseUserExtension> { public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<DatabaseUserExtension> {
@Suppress("FunctionName") @Suppress("FunctionName")
@ -17,23 +13,19 @@ public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<Data
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedSelect(query: SelectQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>> public suspend fun <QueryUserExtension : Any> _executeAutoTransactedQuery(compiledQuery: _Query.Void2Table<QueryUserExtension>): OutputRow._Iterator<QueryUserExtension, Unit>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedInsert(query: InsertQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<InsertQuery.Creator.Scope.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>> public suspend fun <QueryUserExtension : Any> _executeAutoTransactedQuery(compiledQuery: _Query.Params2Table<QueryUserExtension>): InputRow._Scope<QueryUserExtension, OutputRow._Iterator<QueryUserExtension, Unit>>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedCopy(query: CopyQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?> public suspend fun <QueryUserExtension : Any> _executeAutoTransactedQuery(compiledQuery: _Query.Table2Void<QueryUserExtension>): InputRow._Iterator<QueryUserExtension, Unit>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedUpdate(query: UpdateQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?> public suspend fun <QueryUserExtension : Any> _executeAutoTransactedQuery(compiledQuery: _Query.Params2Void<QueryUserExtension>): InputRow._Scope<QueryUserExtension, Unit>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <QueryUserWrapper : Any> _autoTransactedDelete(query: DeleteQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public interface AtomicScript<C, A, R> { public interface AtomicScript<C, A, R> {
public suspend fun executeTransaction(transaction: Transaction, context: C, args: A): R public suspend fun executeTransaction(transaction: Transaction, context: C, args: A): R
@ -47,7 +39,7 @@ public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<Data
public fun <TableUserException : Any, V> mapOfRowIds( public fun <TableUserException : Any, V> mapOfRowIds(
table: Table<TableUserException, *>, table: Table<TableUserException, *>,
builder: (MutableMap<Row<TableUserException>, V>) -> Unit builder: (MutableMap<OutputRow<TableUserException>, V>) -> Unit
): Map<RowId<TableUserException>, V> ): Map<RowId<TableUserException>, V>
public fun <TableUserException : Any, V> mutableMapOfRowIds(table: Table<TableUserException, *>): MutableMap<RowId<TableUserException>, V> public fun <TableUserException : Any, V> mutableMapOfRowIds(table: Table<TableUserException, *>): MutableMap<RowId<TableUserException>, V>

View File

@ -1,32 +1,24 @@
package ru.landgrafhomyak.serdha.api.v0.runtime package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery import ru.landgrafhomyak.serdha.api.v0.queries._Query
import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery
import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery
import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery
import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery
public interface Transaction { public interface Transaction {
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public fun <QueryUserWrapper : Any> _select(compiledQuery: SelectQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>> public suspend fun <QueryUserExtension : Any> _executeQuery(compiledQuery: _Query.Void2Table<QueryUserExtension>): OutputRow._Iterator<QueryUserExtension, Unit>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public fun <QueryUserWrapper : Any> _insert(compiledQuery: InsertQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ParametersSetter._Multi<InsertQuery.Creator.Scope.DataParam<QueryUserWrapper>, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?>> public suspend fun <QueryUserExtension : Any> _executeQuery(compiledQuery: _Query.Params2Table<QueryUserExtension>): InputRow._Scope<QueryUserExtension, OutputRow._Iterator<QueryUserExtension, Unit>>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public fun <QueryUserWrapper : Any> _copy(compiledQuery: CopyQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>>?> public suspend fun <QueryUserExtension : Any> _executeQuery(compiledQuery: _Query.Table2Void<QueryUserExtension>): InputRow._Iterator<QueryUserExtension, Unit>
@Suppress("FunctionName") @Suppress("FunctionName")
@LowLevelApi @LowLevelApi
public fun <QueryUserWrapper : Any> _update(compiledQuery: UpdateQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?> public suspend fun <QueryUserExtension : Any> _executeQuery(compiledQuery: _Query.Params2Void<QueryUserExtension>): InputRow._Scope<QueryUserExtension, Unit>
@Suppress("FunctionName")
@LowLevelApi
public fun <QueryUserWrapper : Any> _delete(compiledQuery: DeleteQuery<QueryUserWrapper>): _ParametersSetter<QueryUserWrapper, _ResultSet<QueryUserWrapper, Unit>?>
public suspend fun rollback() public suspend fun rollback()

View File

@ -1,19 +0,0 @@
package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
@Suppress("ClassName", "FunctionName")
@LowLevelApi
public interface _ParametersSetter<QueryUserExtension : Any, out Result> : ParametersSetter<QueryUserExtension> {
@LowLevelApi
public suspend fun _execute(): Result
@LowLevelApi
public suspend fun _abort()
@LowLevelApi
public interface _Multi<QueryUserExtension : Any, out Result> : _ParametersSetter<QueryUserExtension, Result> {
@LowLevelApi
public fun _next(): Boolean
}
}

View File

@ -1,19 +0,0 @@
package ru.landgrafhomyak.serdha.api.v0.runtime
import ru.landgrafhomyak.serdha.api.v0.LowLevelApi
@Suppress("ClassName")
@LowLevelApi
public interface _ResultSet<QueryUserExtension : Any, out Next> : Row<QueryUserExtension> {
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _next(): Boolean
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _abort()
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _close(): Next
}