Generics naming

This commit is contained in:
Andrew Golovashevich 2025-05-12 09:42:28 +03:00
parent 50dece2624
commit 60d57c3656
19 changed files with 188 additions and 190 deletions

View File

@ -7,7 +7,7 @@ import ru.landgrafhomyak.db.skeleton1.api.statement.QueriesCompiler
import ru.landgrafhomyak.db.skeleton1.api.runtime.Transaction
public interface Module<mUE : Any, RUNTIME_KEY : Any> {
public interface Module<mUE : Any, IK : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("uExt")
public val uExt: mUE
@ -20,7 +20,7 @@ public interface Module<mUE : Any, RUNTIME_KEY : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getParent")
public val parent: Module<*, RUNTIME_KEY>?
public val parent: Module<*, IK>?
public interface Constructor<mUE : Any, RUNTIME_KEY : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@ -32,7 +32,7 @@ public interface Module<mUE : Any, RUNTIME_KEY : Any> {
public suspend fun initData(ext: mUE, compiler: QueriesCompiler<RUNTIME_KEY>, transaction: Transaction<RUNTIME_KEY>) {}
}
public interface Upgrade<omUE : Any, nmUE : Any, RUNTIME_KEY : Any> {
public interface Upgrade<nmUE : Any, omUE : Any, RUNTIME_KEY : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("versionKey")
public val versionKey: String

View File

@ -9,32 +9,32 @@ import ru.landgrafhomyak.db.skeleton1.api.table.Table
import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
public interface ModuleConstructorScope<mUE : Any, RK : Any> {
public interface ModuleConstructorScope<mUE : Any, IK : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("rootNs")
public val rootNs: Namespace<mUE, RK>
public val rootNs: Namespace<mUE, IK>
public fun <tUE : Any> createTable(
lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE,
namespace: Namespace<mUE, RK> = this.rootNs,
name: String, initializer: Table.Constructor<tUE, RK>
): Table<tUE, mUE, RK>
namespace: Namespace<mUE, IK> = this.rootNs,
name: String, initializer: Table.Constructor<tUE, IK>
): Table<tUE, mUE, IK>
public fun <oUE : Any?> moduleScopedObject(
namespace: Namespace<mUE, RK> = this.rootNs,
namespace: Namespace<mUE, IK> = this.rootNs,
name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>
): ModuleScopedObject<oUE, mUE, RK>
): ModuleScopedObject<oUE, mUE, IK>
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE, RK>, template: Module.Template<mUE>): Module<mUE, RK>
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE, IK>, template: Module.Template<mUE>): Module<mUE, IK>
public fun namespace(parent: Namespace<mUE, RK>, name: String): Namespace<mUE, RK>
public fun namespace(parent: Namespace<mUE, IK>, name: String): Namespace<mUE, IK>
public fun addStatement(stmt: _Statement.Void2Void<*, RK>)
public fun addStatement(stmt: _Statement.Void2Void<*, IK>)
public fun addStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
@LowLevelApi
public fun <sUE : Any> _addStatement(stmt: _Statement.Params2Void<sUE, RK>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addStatement(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
@LowLevelApi
public fun <sUE : Any> _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
}

View File

@ -2,15 +2,15 @@ package ru.landgrafhomyak.db.skeleton1.api.module
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
public interface ModuleScopedObject<oUE : Any?, mUE : Any, RUNTIME_KEY : Any> {
public interface ModuleScopedObject<oUE : Any?, mUE : Any, IK : Any> {
public val uExt: oUE
@DebugApi
public val name: String
@DebugApi
public val module: Module<mUE, RUNTIME_KEY>
public val module: Module<mUE, IK>
@DebugApi
public val namespace: Namespace<mUE, RUNTIME_KEY>
public val namespace: Namespace<mUE, IK>
}

View File

@ -7,94 +7,94 @@ import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
import ru.landgrafhomyak.db.skeleton1.api.table.Table
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any, RK : Any> : ModuleConstructorScope<nmUE, RK> {
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any, IK : Any> : ModuleConstructorScope<nmUE, IK> {
// Table -------------------------------------------------------------------
public fun <tUE : Any> keepTable(table: Table<tUE, omUE, RK>): Table<tUE, nmUE, RK>
public fun <tUE : Any> keepTable(table: Table<tUE, omUE, IK>): Table<tUE, nmUE, IK>
public fun <tUE : Any> keepAndRenameTable(
table: Table<tUE, omUE, RK>,
newNamespace: Namespace<nmUE, RK>? = null, newName: String
): Table<tUE, nmUE, RK>
table: Table<tUE, omUE, IK>,
newNamespace: Namespace<nmUE, IK>? = null, newName: String
): Table<tUE, nmUE, IK>
public fun <ntUE : Any, otUE : Any> upgradeTable(
oldTable: Table<otUE, omUE, RK>,
upgrade: Table.Upgrade<ntUE, otUE, RK>
): Table<ntUE, nmUE, RK>
oldTable: Table<otUE, omUE, IK>,
upgrade: Table.Upgrade<ntUE, otUE, IK>
): Table<ntUE, nmUE, IK>
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
table: Table<otUE, omUE, RK>,
newNamespace: Namespace<nmUE, RK>? = null, newName: String,
upgrade: Table.Upgrade<ntUE, otUE, RK>
): Table<ntUE, nmUE, RK>
table: Table<otUE, omUE, IK>,
newNamespace: Namespace<nmUE, IK>? = null, newName: String,
upgrade: Table.Upgrade<ntUE, otUE, IK>
): Table<ntUE, nmUE, IK>
public fun deleteTable(table: Table<*, omUE, RK>)
public fun <tUE : Any> deleteTableAfterModuleUpgrade(table: Table<tUE, omUE, RK>): Table<tUE, nmUE, RK>
public fun deleteTable(table: Table<*, omUE, IK>)
public fun <tUE : Any> deleteTableAfterModuleUpgrade(table: Table<tUE, omUE, IK>): Table<tUE, nmUE, IK>
public fun exportTable(table: Table<*, omUE, RK>)
public fun exportTable(table: Table<*, omUE, IK>)
public fun <tUE : Any> importTable(
table: Table<tUE, *, RK>,
namespace: Namespace<nmUE, RK> = this.rootNs, name: String
): Table<tUE, nmUE, RK>
table: Table<tUE, *, IK>,
namespace: Namespace<nmUE, IK> = this.rootNs, name: String
): Table<tUE, nmUE, IK>
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
table: Table<otUE, *, RK>,
namespace: Namespace<nmUE, RK> = this.rootNs, name: String,
upgrade: Table.Upgrade<ntUE, otUE, RK>
): Table<ntUE, nmUE, RK>
table: Table<otUE, *, IK>,
namespace: Namespace<nmUE, IK> = this.rootNs, name: String,
upgrade: Table.Upgrade<ntUE, otUE, IK>
): Table<ntUE, nmUE, IK>
// Object ------------------------------------------------------------------
public fun <oUE : Any?> keepModuleScopedObject(obj: ModuleScopedObject<oUE, omUE, RK>): ModuleScopedObject<oUE, nmUE, RK>
public fun <oUE : Any?> keepModuleScopedObject(obj: ModuleScopedObject<oUE, omUE, IK>): ModuleScopedObject<oUE, nmUE, IK>
public fun <oUE : Any?> renameModuleScopedObject(
obj: ModuleScopedObject<oUE, omUE, RK>,
newNamespace: Namespace<nmUE, RK>? = null, newName: String
): ModuleScopedObject<oUE, nmUE, RK>
obj: ModuleScopedObject<oUE, omUE, IK>,
newNamespace: Namespace<nmUE, IK>? = null, newName: String
): ModuleScopedObject<oUE, nmUE, IK>
public fun <oUE : Any?> deleteModuleScopedObject(obj: ModuleScopedObject<oUE, omUE, RK>)
public fun <oUE : Any?> deleteModuleScopedObjectAfterModuleUpgrade(obj: ModuleScopedObject<oUE, omUE, RK>): ModuleScopedObject<oUE, nmUE, RK>
public fun <oUE : Any?> deleteModuleScopedObject(obj: ModuleScopedObject<oUE, omUE, IK>)
public fun <oUE : Any?> deleteModuleScopedObjectAfterModuleUpgrade(obj: ModuleScopedObject<oUE, omUE, IK>): ModuleScopedObject<oUE, nmUE, IK>
public fun exportModuleScopedObject(obj: ModuleScopedObject<*, omUE, RK>)
public fun exportModuleScopedObject(obj: ModuleScopedObject<*, omUE, IK>)
public fun <oUE : Any> importModuleScopedObject(
obj: ModuleScopedObject<oUE, *, RK>,
namespace: Namespace<nmUE, RK> = this.rootNs, name: String
): ModuleScopedObject<oUE, nmUE, RK>
obj: ModuleScopedObject<oUE, *, IK>,
namespace: Namespace<nmUE, IK> = this.rootNs, name: String
): ModuleScopedObject<oUE, nmUE, IK>
// Module ------------------------------------------------------------------
public fun <smUE : Any> keepModule(module: Module<smUE, RK>): Module<smUE, RK>
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE, RK>, newNs: Namespace<nmUE, RK>): Module<smUE, RK>
public fun <smUE : Any> keepModule(module: Module<smUE, IK>): Module<smUE, IK>
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE, IK>, newNs: Namespace<nmUE, IK>): Module<smUE, IK>
public fun <smUE : Any> upgradeModule(oldModule: Module<*, RK>, template: Module.Template<smUE>): Module<smUE, RK>
public fun <smUE : Any> upgradeModule(oldModule: Module<*, IK>, template: Module.Template<smUE>): Module<smUE, IK>
public fun <smUE : Any> upgradeAndMoveModule(
oldModule: Module<*, RK>,
newNamespace: Namespace<nmUE, RK>,
oldModule: Module<*, IK>,
newNamespace: Namespace<nmUE, IK>,
template: Module.Template<smUE>
): Module<smUE, RK>
): Module<smUE, IK>
public fun deleteModule(oldModule: Module<*, RK>)
public fun <smUE : Any> deleteModuleAfterUpgrade(oldModule: Module<smUE, RK>): Module<smUE, RK>
public fun deleteModule(oldModule: Module<*, IK>)
public fun <smUE : Any> deleteModuleAfterUpgrade(oldModule: Module<smUE, IK>): Module<smUE, IK>
public fun exportModule(table: Module<*, RK>)
public fun exportModule(table: Module<*, IK>)
public fun <smUE : Any> importModule(
module: Module<smUE, RK>,
namespace: Namespace<nmUE, RK>,
): Module<smUE, RK>
module: Module<smUE, IK>,
namespace: Namespace<nmUE, IK>,
): Module<smUE, IK>
public fun <nsmUE : Any, osmUE : Any> importAndUpgradeModule(
module: Module<osmUE, RK>,
namespace: Namespace<nmUE, RK>,
upgrade: Module.Upgrade<osmUE, nsmUE, RK>
): Module<nsmUE, RK>
module: Module<osmUE, IK>,
namespace: Namespace<nmUE, IK>,
upgrade: Module.Upgrade<nsmUE, osmUE, IK>
): Module<nsmUE, IK>
// Statements --------------------------------------------------------------
public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RK>)
public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*, IK>)
public fun addStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
@LowLevelApi
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, RK>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
@LowLevelApi
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
}

View File

@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.module
import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
public interface Namespace<mUE : Any, RUNTIME_KEY : Any> {
public interface Namespace<mUE : Any, IK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getName")
@ -15,5 +15,5 @@ public interface Namespace<mUE : Any, RUNTIME_KEY : Any> {
public val path: List<String>
@DebugApi
public val module: Module<mUE, RUNTIME_KEY>
public val module: Module<mUE, IK>
}

View File

@ -2,8 +2,8 @@ package ru.landgrafhomyak.db.skeleton1.api.runtime
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
public interface Executor<RUNTIME_KEY : Any> {
public interface Executor<IK : Any> {
@Suppress("FunctionName")
@LowLevelApi
public suspend fun _startTransaction(): Transaction<RUNTIME_KEY>
public suspend fun _startTransaction(): Transaction<IK>
}

View File

@ -4,23 +4,23 @@ import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam
public interface InputRow<qUE : Any, RK : Any> {
public interface InputRow<qUE : Any, IK : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("uExt")
public val uExt: qUE
public operator fun <RuntimeType> set(c: InputParam<RuntimeType, qUE, RK>, value: RuntimeType)
public operator fun <RuntimeType> set(c: InputParam<RuntimeType, qUE, IK>, value: RuntimeType)
public operator fun set(c: InputParam<Byte, qUE, RK>, value: Byte): Unit = this.set<Byte>(c, value)
public operator fun set(c: InputParam<UByte, qUE, RK>, value: UByte): Unit = this.set<UByte>(c, value)
public operator fun set(c: InputParam<Short, qUE, RK>, value: Short): Unit = this.set<Short>(c, value)
public operator fun set(c: InputParam<UShort, qUE, RK>, value: UShort): Unit = this.set<UShort>(c, value)
public operator fun set(c: InputParam<Int, qUE, RK>, value: Int): Unit = this.set<Int>(c, value)
public operator fun set(c: InputParam<UInt, qUE, RK>, value: UInt): Unit = this.set<UInt>(c, value)
public operator fun set(c: InputParam<Long, qUE, RK>, value: Long): Unit = this.set<Long>(c, value)
public operator fun set(c: InputParam<ULong, qUE, RK>, value: ULong): Unit = this.set<ULong>(c, value)
public operator fun set(c: InputParam<Char, qUE, RK>, value: Char): Unit = this.set<Char>(c, value)
public operator fun set(c: InputParam<Boolean, qUE, RK>, value: Boolean): Unit = this.set<Boolean>(c, value)
public operator fun set(c: InputParam<Byte, qUE, IK>, value: Byte): Unit = this.set<Byte>(c, value)
public operator fun set(c: InputParam<UByte, qUE, IK>, value: UByte): Unit = this.set<UByte>(c, value)
public operator fun set(c: InputParam<Short, qUE, IK>, value: Short): Unit = this.set<Short>(c, value)
public operator fun set(c: InputParam<UShort, qUE, IK>, value: UShort): Unit = this.set<UShort>(c, value)
public operator fun set(c: InputParam<Int, qUE, IK>, value: Int): Unit = this.set<Int>(c, value)
public operator fun set(c: InputParam<UInt, qUE, IK>, value: UInt): Unit = this.set<UInt>(c, value)
public operator fun set(c: InputParam<Long, qUE, IK>, value: Long): Unit = this.set<Long>(c, value)
public operator fun set(c: InputParam<ULong, qUE, IK>, value: ULong): Unit = this.set<ULong>(c, value)
public operator fun set(c: InputParam<Char, qUE, IK>, value: Char): Unit = this.set<Char>(c, value)
public operator fun set(c: InputParam<Boolean, qUE, IK>, value: Boolean): Unit = this.set<Boolean>(c, value)
@Suppress("ClassName")
@LowLevelApi

View File

@ -3,25 +3,24 @@ package ru.landgrafhomyak.db.skeleton1.api.runtime
import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
import ru.landgrafhomyak.db.skeleton1.api.statement.OutputColumn
import ru.landgrafhomyak.db.skeleton1.api.table.Column
public interface OutputRow<qUE : Any, RK : Any> {
public interface OutputRow<qUE : Any, IK : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("uExt")
public val uExt: qUE
public operator fun <RuntimeType> get(c: OutputColumn<RuntimeType, qUE, RK>): RuntimeType
public operator fun <RuntimeType> get(c: OutputColumn<RuntimeType, qUE, IK>): RuntimeType
public operator fun get(c: OutputColumn<Byte, qUE, RK>): Byte = this.get<Byte>(c)
public operator fun get(c: OutputColumn<UByte, qUE, RK>): UByte = this.get<UByte>(c)
public operator fun get(c: OutputColumn<Short, qUE, RK>): Short = this.get<Short>(c)
public operator fun get(c: OutputColumn<UShort, qUE, RK>): UShort = this.get<UShort>(c)
public operator fun get(c: OutputColumn<Int, qUE, RK>): Int = this.get<Int>(c)
public operator fun get(c: OutputColumn<UInt, qUE, RK>): UInt = this.get<UInt>(c)
public operator fun get(c: OutputColumn<Long, qUE, RK>): Long = this.get<Long>(c)
public operator fun get(c: OutputColumn<ULong, qUE, RK>): ULong = this.get<ULong>(c)
public operator fun get(c: OutputColumn<Char, qUE, RK>): Char = this.get<Char>(c)
public operator fun get(c: OutputColumn<Boolean, qUE, RK>): Boolean = this.get<Boolean>(c)
public operator fun get(c: OutputColumn<Byte, qUE, IK>): Byte = this.get<Byte>(c)
public operator fun get(c: OutputColumn<UByte, qUE, IK>): UByte = this.get<UByte>(c)
public operator fun get(c: OutputColumn<Short, qUE, IK>): Short = this.get<Short>(c)
public operator fun get(c: OutputColumn<UShort, qUE, IK>): UShort = this.get<UShort>(c)
public operator fun get(c: OutputColumn<Int, qUE, IK>): Int = this.get<Int>(c)
public operator fun get(c: OutputColumn<UInt, qUE, IK>): UInt = this.get<UInt>(c)
public operator fun get(c: OutputColumn<Long, qUE, IK>): Long = this.get<Long>(c)
public operator fun get(c: OutputColumn<ULong, qUE, IK>): ULong = this.get<ULong>(c)
public operator fun get(c: OutputColumn<Char, qUE, IK>): Char = this.get<Char>(c)
public operator fun get(c: OutputColumn<Boolean, qUE, IK>): Boolean = this.get<Boolean>(c)
@Suppress("ClassName")
@LowLevelApi

View File

@ -3,40 +3,40 @@ package ru.landgrafhomyak.db.skeleton1.api.runtime
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
public interface Transaction<RK : Any> {
public suspend fun <qUE : Any?> executeQuery_void2void(compiledQuery: _Statement.Void2Void<qUE, RK>)
public interface Transaction<IK : Any> {
public suspend fun <qUE : Any?> executeQuery_void2void(compiledQuery: _Statement.Void2Void<qUE, IK>)
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_void2row(compiledQuery: _Statement.Void2Row<qUE, RK>): OutputRow._Scope<qUE, RK, Unit>
public suspend fun <qUE : Any> _executeQuery_void2row(compiledQuery: _Statement.Void2Row<qUE, IK>): OutputRow._Scope<qUE, IK, Unit>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, RK>): OutputRow._Scope<qUE, RK, Unit>?
public suspend fun <qUE : Any> _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): OutputRow._Scope<qUE, IK, Unit>?
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull<qUE, RK>): OutputRow._Iterator<qUE, RK, Unit>
public suspend fun <qUE : Any> _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): OutputRow._Iterator<qUE, IK, Unit>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_params2void(compiledQuery: _Statement.Void2Void<qUE, RK>): InputRow._Scope<qUE, RK, Unit>
public suspend fun <qUE : Any> _executeQuery_params2void(compiledQuery: _Statement.Void2Void<qUE, IK>): InputRow._Scope<qUE, IK, Unit>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_params2row(compiledQuery: _Statement.Void2Row<qUE, RK>): InputRow._Scope<qUE, RK, OutputRow._Scope<qUE, RK, Unit>>
public suspend fun <qUE : Any> _executeQuery_params2row(compiledQuery: _Statement.Void2Row<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Scope<qUE, IK, Unit>>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, RK>): InputRow._Scope<qUE, RK, OutputRow._Scope<qUE, RK, Unit>?>
public suspend fun <qUE : Any> _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Scope<qUE, IK, Unit>?>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull<qUE, RK>): InputRow._Scope<qUE, RK, OutputRow._Iterator<qUE, RK, Unit>>
public suspend fun <qUE : Any> _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Iterator<qUE, IK, Unit>>
@Suppress("FunctionName")
@LowLevelApi
public suspend fun <qUE : Any> _executeBatch_params2void(compiledQuery: _Statement.Void2Void<qUE, RK>): InputRow._Iterator<qUE, RK, Unit>
public suspend fun <qUE : Any> _executeBatch_params2void(compiledQuery: _Statement.Void2Void<qUE, IK>): InputRow._Iterator<qUE, IK, Unit>
public suspend fun rollback()

View File

@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
public interface InputParam<@Suppress("unused") RT, oqUE : Any, RK : Any> {
public interface InputParam<@Suppress("unused") RT, sUE : Any, IK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getName")
@ -12,5 +12,5 @@ public interface InputParam<@Suppress("unused") RT, oqUE : Any, RK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getStatement")
public val statement: _Statement<oqUE, RK>
public val statement: _Statement<sUE, IK>
}

View File

@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
public interface OutputColumn<@Suppress("unused") RT, oqUE : Any, RK : Any> {
public interface OutputColumn<@Suppress("unused") RT, sUE : Any, IK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("name")
@ -12,5 +12,5 @@ public interface OutputColumn<@Suppress("unused") RT, oqUE : Any, RK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getStatement")
public val statement: _Statement<oqUE, RK>
public val statement: _Statement<sUE, IK>
}

View File

@ -1,12 +1,12 @@
package ru.landgrafhomyak.db.skeleton1.api.statement
public interface QueriesCompiler<RUNTIME_KEY : Any> {
public fun <qUE : Any?> raw_void2void(constructor: RawStatement.Void2Void.ImplementationsProvider<qUE>): RawStatement.Void2Void<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_void2row(constructor: RawStatement.Void2Row.ImplementationsProvider<qUE>): RawStatement.Void2Row<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_void2rowOrNull(constructor: RawStatement.Void2RowOrNull.ImplementationsProvider<qUE>): RawStatement.Void2RowOrNull<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_void2table(constructor: RawStatement.Void2Table.ImplementationsProvider<qUE>): RawStatement.Void2Table<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_params2void(constructor: RawStatement.Params2Void.ImplementationsProvider<qUE>): RawStatement.Params2Void<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_params2row(constructor: RawStatement.Params2Row.ImplementationsProvider<qUE>): RawStatement.Params2Row<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_params2rowOrNull(constructor: RawStatement.Params2RowOrNull.ImplementationsProvider<qUE>): RawStatement.Params2RowOrNull<qUE, RUNTIME_KEY>
public fun <qUE : Any> raw_params2table(constructor: RawStatement.Params2Table.ImplementationsProvider<qUE>): RawStatement.Params2Table<qUE, RUNTIME_KEY>
public interface QueriesCompiler<IK : Any> {
public fun <sUE : Any?> raw_void2void(constructor: RawStatement.Void2Void.ImplementationsProvider<sUE>): RawStatement.Void2Void<sUE, IK>
public fun <sUE : Any> raw_void2row(constructor: RawStatement.Void2Row.ImplementationsProvider<sUE>): RawStatement.Void2Row<sUE, IK>
public fun <sUE : Any> raw_void2rowOrNull(constructor: RawStatement.Void2RowOrNull.ImplementationsProvider<sUE>): RawStatement.Void2RowOrNull<sUE, IK>
public fun <sUE : Any> raw_void2table(constructor: RawStatement.Void2Table.ImplementationsProvider<sUE>): RawStatement.Void2Table<sUE, IK>
public fun <sUE : Any> raw_params2void(constructor: RawStatement.Params2Void.ImplementationsProvider<sUE>): RawStatement.Params2Void<sUE, IK>
public fun <sUE : Any> raw_params2row(constructor: RawStatement.Params2Row.ImplementationsProvider<sUE>): RawStatement.Params2Row<sUE, IK>
public fun <sUE : Any> raw_params2rowOrNull(constructor: RawStatement.Params2RowOrNull.ImplementationsProvider<sUE>): RawStatement.Params2RowOrNull<sUE, IK>
public fun <sUE : Any> raw_params2table(constructor: RawStatement.Params2Table.ImplementationsProvider<sUE>): RawStatement.Params2Table<sUE, IK>
}

View File

@ -2,13 +2,13 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo
public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, RUNTIME_KEY> {
public override val uExt: qUE
public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
public override val uExt: sUE
public interface Void2Void<qUE : Any?, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Void2Void<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Void2Void<sUE : Any?, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Void<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any?>
public interface Constructor<@Suppress("unused") sUE : Any?>
public interface ImplementationsProvider<USER_EXTENSION : Any?> {
public fun provideStatementImplementations_void2void(scope: Scope<USER_EXTENSION>)
@ -25,10 +25,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Void2Row<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Void2Row<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Void2Row<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Row<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_void2row(scope: Scope<USER_EXTENSION>)
@ -45,10 +45,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Void2RowOrNull<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Void2RowOrNull<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Void2RowOrNull<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2RowOrNull<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_void2rowOrNull(scope: Scope<USER_EXTENSION>)
@ -66,10 +66,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
public interface Void2Table<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Void2Table<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Void2Table<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Table<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_void2table(selector: Selector<USER_EXTENSION>)
@ -86,10 +86,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Params2Void<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Params2Void<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Params2Void<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Void<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_params2void(scope: Scope<USER_EXTENSION>)
@ -106,10 +106,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Params2Row<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Params2Row<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Params2Row<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Row<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_params2row(scope: Scope<USER_EXTENSION>)
@ -126,10 +126,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Params2RowOrNull<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Params2RowOrNull<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Params2RowOrNull<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2RowOrNull<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_params2rowOrNull(scope: Scope<USER_EXTENSION>)
@ -146,10 +146,10 @@ public interface RawStatement<qUE : Any?, RUNTIME_KEY : Any> : _Statement<qUE, R
}
}
public interface Params2Table<qUE : Any, RUNTIME_KEY : Any> : RawStatement<qUE, RUNTIME_KEY>, _Statement.Params2Table<qUE, RUNTIME_KEY> {
override val uExt: qUE
public interface Params2Table<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Table<sUE, IK> {
override val uExt: sUE
public interface Constructor<@Suppress("unused") qUE : Any>
public interface Constructor<@Suppress("unused") sUE : Any>
public interface ImplementationsProvider<USER_EXTENSION : Any> {
public fun provideStatementImplementations_params2table(scope: Scope<USER_EXTENSION>)

View File

@ -4,17 +4,17 @@ import kotlin.jvm.JvmName
@Suppress("ClassName")
public interface _Statement<STATEMENT_USER_EXTENSION : Any?, RUNTIME_KEY: Any> {
public interface _Statement<sUE : Any?, IK: Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("uExt")
public val uExt: STATEMENT_USER_EXTENSION
public val uExt: sUE
public interface Void2Void<qUE : Any?, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Void2Row<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Void2RowOrNull<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Void2Table<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Params2Void<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Params2Row<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Params2RowOrNull<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Params2Table<qUE : Any, RUNTIME_KEY: Any> : _Statement<qUE, RUNTIME_KEY>
public interface Void2Void<sUE : Any?, IK: Any> : _Statement<sUE, IK>
public interface Void2Row<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Void2RowOrNull<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Void2Table<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Params2Void<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Params2Row<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Params2RowOrNull<sUE : Any, IK: Any> : _Statement<sUE, IK>
public interface Params2Table<sUE : Any, IK: Any> : _Statement<sUE, IK>
}

View File

@ -4,7 +4,7 @@ import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
import ru.landgrafhomyak.db.skeleton1.api.DatabaseType
public interface Column<RUNTIME_TYPE, TABLE_USER_EXTENSION : Any, RUNTIME_KEY : Any> {
public interface Column<RT, tUE : Any, IK : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("name")
@ -13,10 +13,10 @@ public interface Column<RUNTIME_TYPE, TABLE_USER_EXTENSION : Any, RUNTIME_KEY :
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("type")
public val type: DatabaseType<RUNTIME_TYPE>
public val type: DatabaseType<RT>
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getTable")
public val table: Table<TABLE_USER_EXTENSION, *, RUNTIME_KEY>
public val table: Table<tUE, *, IK>
}

View File

@ -5,7 +5,7 @@ import ru.landgrafhomyak.db.skeleton1.api.DebugApi
import ru.landgrafhomyak.db.skeleton1.api.module.Module
import ru.landgrafhomyak.db.skeleton1.api.module.Namespace
public interface Table<UE : Any, mUE : Any, RUNTIME_KEY : Any> {
public interface Table<UE : Any, mUE : Any, IK : Any> {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("uExt")
public val uExt: UE
@ -18,12 +18,12 @@ public interface Table<UE : Any, mUE : Any, RUNTIME_KEY : Any> {
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getNamespace")
public val namespace: Namespace<mUE, RUNTIME_KEY>
public val namespace: Namespace<mUE, IK>
@DebugApi
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getModule")
public val module: Module<mUE, RUNTIME_KEY>
public val module: Module<mUE, IK>
public enum class LifeTime {
DATABASE_SCOPE,

View File

@ -8,18 +8,18 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
public interface TableConstructorScope<tUE : Any, RK : Any> {
public fun <RT> column(name: String, type: DatabaseType.ImplementationsProvider<RT>, manualCreate: Boolean = false): Column<RT, tUE, RK>
public fun <RT, ttUE : Any> columnWithBoundType(name: String, foreign: Column<RT, ttUE, RK>): Column<RT, tUE, RK>
public interface TableConstructorScope<tUE : Any, IK : Any> {
public fun <RT> column(name: String, type: DatabaseType.ImplementationsProvider<RT>, manualCreate: Boolean = false): Column<RT, tUE, IK>
public fun <RT, ttUE : Any> columnWithBoundType(name: String, foreign: Column<RT, ttUE, IK>): Column<RT, tUE, IK>
public fun <oUE : Any?> tableScopedObject(name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>): TableScopedObject<oUE, tUE, RK>
public fun <oUE : Any?> tableScopedObject(name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>): TableScopedObject<oUE, tUE, IK>
public fun addAlterStatement(stmt: _Statement.Void2Void<*, RK>)
public fun addAlterStatement(stmt: _Statement.Void2Void<*, IK>)
public fun addAlterStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
@LowLevelApi
public fun <sUE : Any> _addAlterStatement(stmt: _Statement.Void2Void<sUE, RK>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addAlterStatement(stmt: _Statement.Void2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
@LowLevelApi
public fun <sUE : Any> _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
}

View File

@ -2,12 +2,12 @@ package ru.landgrafhomyak.db.skeleton1.api.table
import ru.landgrafhomyak.db.skeleton1.api.DebugApi
public interface TableScopedObject<oUE : Any?, tUE : Any, RUNTIME_KEY : Any> {
public interface TableScopedObject<oUE : Any?, tUE : Any, IK : Any> {
public val uExt: oUE
@DebugApi
public val name: String
@DebugApi
public val table: Table<tUE, *, RUNTIME_KEY>
public val table: Table<tUE, *, IK>
}

View File

@ -1,34 +1,33 @@
package ru.landgrafhomyak.db.skeleton1.api.table
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations
import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement
import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
public interface TableUpgradeScope<tnUE : Any, toUE : Any, RK : Any> : TableConstructorScope<tnUE, RK> {
public fun <RT> keepColumn(c: Column<RT, toUE, RK>): Column<RT, tnUE, RK>
public fun <RT> renameColumn(c: Column<RT, toUE, RK>, newName: String): Column<RT, tnUE, RK>
public fun deleteColumn(c: Column<*, toUE, RK>)
public fun <RT> deleteColumnAfterUpgrade(c: Column<RT, toUE, RK>): Column<RT, tnUE, RK>
public interface TableUpgradeScope<tnUE : Any, toUE : Any, IK : Any> : TableConstructorScope<tnUE, IK> {
public fun <RT> keepColumn(c: Column<RT, toUE, IK>): Column<RT, tnUE, IK>
public fun <RT> renameColumn(c: Column<RT, toUE, IK>, newName: String): Column<RT, tnUE, IK>
public fun deleteColumn(c: Column<*, toUE, IK>)
public fun <RT> deleteColumnAfterUpgrade(c: Column<RT, toUE, IK>): Column<RT, tnUE, IK>
public fun <RT> keepColumnWithBoundType(c: Column<RT, toUE, RK>): Column<RT, tnUE, RK>
public fun <RT> unbindAndKeepColumnWithBoundType(c: Column<RT, toUE, RK>): Column<RT, tnUE, RK>
public fun <RT> renameColumnWithBoundType(c: Column<RT, toUE, RK>, newName: String): Column<RT, tnUE, RK>
public fun <RT> unbindAndRenameColumnWithBoundType(c: Column<RT, toUE, RK>, newName: String): Column<RT, tnUE, RK>
public fun deleteColumnWithBoundType(c: Column<*, toUE, RK>)
public fun <RT> deleteColumnWithBoundTypeAfterUpgrade(c: Column<RT, toUE, RK>): Column<RT, tnUE, RK>
public fun <RT> keepColumnWithBoundType(c: Column<RT, toUE, IK>): Column<RT, tnUE, IK>
public fun <RT> unbindAndKeepColumnWithBoundType(c: Column<RT, toUE, IK>): Column<RT, tnUE, IK>
public fun <RT> renameColumnWithBoundType(c: Column<RT, toUE, IK>, newName: String): Column<RT, tnUE, IK>
public fun <RT> unbindAndRenameColumnWithBoundType(c: Column<RT, toUE, IK>, newName: String): Column<RT, tnUE, IK>
public fun deleteColumnWithBoundType(c: Column<*, toUE, IK>)
public fun <RT> deleteColumnWithBoundTypeAfterUpgrade(c: Column<RT, toUE, IK>): Column<RT, tnUE, IK>
public fun <oUE : Any?> keepTableScopedObject(obj: TableScopedObject<oUE, toUE, RK>): TableScopedObject<oUE, tnUE, RK>
public fun <oUE : Any?> renameTableScopedObject(obj: TableScopedObject<oUE, toUE, RK>, newName: String): TableScopedObject<oUE, tnUE, RK>
public fun <oUE : Any?> deleteTableScopedObject(obj: TableScopedObject<oUE, toUE, RK>): TableScopedObject<oUE, tnUE, RK>
public fun <oUE : Any?> keepTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
public fun <oUE : Any?> renameTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>, newName: String): TableScopedObject<oUE, tnUE, IK>
public fun <oUE : Any?> deleteTableScopedObject(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RK>)
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, IK>)
public fun addAlterStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
@LowLevelApi
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, RK>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
@LowLevelApi
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, RK, Unit>
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
}