Removed "Instance Key"/"Runtime Key" generic because it's hard to maintenance
This commit is contained in:
parent
35a668ad37
commit
ae92d1a407
@ -10,32 +10,32 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
|
||||
@ReflectionApi
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class UninitializedParameterException : RuntimeException, CopyableThrowable<UninitializedParameterException> {
|
||||
public val statement: _Statement<*, *>
|
||||
public val params: Collection<InputParam<*, *, *>>
|
||||
public val statement: _Statement<*>
|
||||
public val params: Collection<InputParam<*, *>>
|
||||
|
||||
public constructor(statement: _Statement<*, *>, params: Collection<InputParam<*, *, *>>) : super(formatMessage(statement, params)) {
|
||||
public constructor(statement: _Statement<*>, params: Collection<InputParam<*, *>>) : super(formatMessage(statement, params)) {
|
||||
this.statement = statement
|
||||
this.params = params
|
||||
}
|
||||
|
||||
public constructor(statement: _Statement<*, *>, params: Collection<InputParam<*, *, *>>, message: String) : super(message) {
|
||||
public constructor(statement: _Statement<*>, params: Collection<InputParam<*, *>>, message: String) : super(message) {
|
||||
this.statement = statement
|
||||
this.params = params
|
||||
}
|
||||
|
||||
public constructor(statement: _Statement<*, *>, params: Collection<InputParam<*, *, *>>, message: String, cause: Throwable) : super(message, cause) {
|
||||
public constructor(statement: _Statement<*>, params: Collection<InputParam<*, *>>, message: String, cause: Throwable) : super(message, cause) {
|
||||
this.statement = statement
|
||||
this.params = params
|
||||
}
|
||||
|
||||
public constructor(statement: _Statement<*, *>, params: Collection<InputParam<*, *, *>>, cause: Throwable) : super(formatMessage(statement, params), cause) {
|
||||
public constructor(statement: _Statement<*>, params: Collection<InputParam<*, *>>, cause: Throwable) : super(formatMessage(statement, params), cause) {
|
||||
this.statement = statement
|
||||
this.params = params
|
||||
}
|
||||
|
||||
public constructor(
|
||||
statement: _Statement<*, *>,
|
||||
params: Collection<InputParam<*, *, *>>,
|
||||
statement: _Statement<*>,
|
||||
params: Collection<InputParam<*, *>>,
|
||||
message: String?,
|
||||
cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
@ -57,7 +57,7 @@ public class UninitializedParameterException : RuntimeException, CopyableThrowab
|
||||
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(statement: _Statement<*, *>, params: Collection<InputParam<*, *, *>>): String =
|
||||
public fun formatMessage(statement: _Statement<*>, params: Collection<InputParam<*, *>>): String =
|
||||
"While preparing statement $statement following parameters wasn't initialized: ${params.joinToString()}"
|
||||
}
|
||||
}
|
@ -10,26 +10,26 @@ import ru.landgrafhomyak.db.skeleton1.api.module.Namespace
|
||||
@ReflectionApi
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class NamespaceAlreadyBusyException : SchemaDefinitionException, CopyableThrowable<NamespaceAlreadyBusyException> {
|
||||
public val namespace: Namespace<*, *>
|
||||
public val namespace: Namespace<*>
|
||||
|
||||
public constructor(namespace: Namespace<*, *>) : super(formatMessage(namespace)) {
|
||||
public constructor(namespace: Namespace<*>) : super(formatMessage(namespace)) {
|
||||
this.namespace = namespace
|
||||
}
|
||||
|
||||
public constructor(namespace: Namespace<*, *>, customMessage: String) : super(customMessage) {
|
||||
public constructor(namespace: Namespace<*>, customMessage: String) : super(customMessage) {
|
||||
this.namespace = namespace
|
||||
}
|
||||
|
||||
public constructor(namespace: Namespace<*, *>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
public constructor(namespace: Namespace<*>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
this.namespace = namespace
|
||||
}
|
||||
|
||||
public constructor(namespace: Namespace<*, *>, cause: Throwable) : super(formatMessage(namespace), cause) {
|
||||
public constructor(namespace: Namespace<*>, cause: Throwable) : super(formatMessage(namespace), cause) {
|
||||
this.namespace = namespace
|
||||
}
|
||||
|
||||
public constructor(
|
||||
namespace: Namespace<*, *>,
|
||||
namespace: Namespace<*>,
|
||||
message: String?, cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
) : super(message, cause, _marker) {
|
||||
@ -48,7 +48,7 @@ public class NamespaceAlreadyBusyException : SchemaDefinitionException, Copyable
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(
|
||||
namespace: Namespace<*, *>
|
||||
namespace: Namespace<*>
|
||||
): String = "Namespace ${namespace.name} is busy: attempt to allocate something in namespace captured by module or attempt to substitute module to non-empty namespace"
|
||||
}
|
||||
}
|
@ -10,26 +10,26 @@ import ru.landgrafhomyak.db.skeleton1.api.table.Table
|
||||
@ReflectionApi
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class TableWithoutColumnsException : SchemaDefinitionException, CopyableThrowable<TableWithoutColumnsException> {
|
||||
public val table: Table<*, *, *>
|
||||
public val table: Table<*, *>
|
||||
|
||||
public constructor(table: Table<*, *, *>) : super(formatMessage(table)) {
|
||||
public constructor(table: Table<*, *>) : super(formatMessage(table)) {
|
||||
this.table = table
|
||||
}
|
||||
|
||||
public constructor(table: Table<*, *, *>, customMessage: String) : super(customMessage) {
|
||||
public constructor(table: Table<*, *>, customMessage: String) : super(customMessage) {
|
||||
this.table = table
|
||||
}
|
||||
|
||||
public constructor(table: Table<*, *, *>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
public constructor(table: Table<*, *>, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
this.table = table
|
||||
}
|
||||
|
||||
public constructor(table: Table<*, *, *>, cause: Throwable) : super(formatMessage(table), cause) {
|
||||
public constructor(table: Table<*, *>, cause: Throwable) : super(formatMessage(table), cause) {
|
||||
this.table = table
|
||||
}
|
||||
|
||||
public constructor(
|
||||
table: Table<*, *, *>,
|
||||
table: Table<*, *>,
|
||||
message: String?, cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
) : super(message, cause, _marker) {
|
||||
@ -48,7 +48,7 @@ public class TableWithoutColumnsException : SchemaDefinitionException, CopyableT
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(
|
||||
table: Table<*, *, *>,
|
||||
table: Table<*, *>,
|
||||
): String = "Table $table doesn't have columns"
|
||||
}
|
||||
}
|
@ -11,32 +11,32 @@ import ru.landgrafhomyak.db.skeleton1.api.module.Module
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
public class VersionDuplicationException : SchemaDefinitionException, CopyableThrowable<VersionDuplicationException> {
|
||||
public val template: Module.Template<*>
|
||||
public val versionOwner: Module<*, *>
|
||||
public val newModule: Module<*, *>
|
||||
public val versionOwner: Module<*>
|
||||
public val newModule: Module<*>
|
||||
public val version: String
|
||||
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String) : super(formatMessage(template, versionOwner, newModule, version)) {
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String) : super(formatMessage(template, versionOwner, newModule, version)) {
|
||||
this.template = template
|
||||
this.versionOwner = versionOwner
|
||||
this.newModule = newModule
|
||||
this.version = version
|
||||
}
|
||||
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String, customMessage: String) : super(customMessage) {
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String, customMessage: String) : super(customMessage) {
|
||||
this.template = template
|
||||
this.versionOwner = versionOwner
|
||||
this.newModule = newModule
|
||||
this.version = version
|
||||
}
|
||||
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String, customMessage: String, cause: Throwable) : super(customMessage, cause) {
|
||||
this.template = template
|
||||
this.versionOwner = versionOwner
|
||||
this.newModule = newModule
|
||||
this.version = version
|
||||
}
|
||||
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String, cause: Throwable) : super(formatMessage(template, versionOwner, newModule, version), cause) {
|
||||
public constructor(template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String, cause: Throwable) : super(formatMessage(template, versionOwner, newModule, version), cause) {
|
||||
this.template = template
|
||||
this.versionOwner = versionOwner
|
||||
this.newModule = newModule
|
||||
@ -44,7 +44,7 @@ public class VersionDuplicationException : SchemaDefinitionException, CopyableTh
|
||||
}
|
||||
|
||||
public constructor(
|
||||
template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String,
|
||||
template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String,
|
||||
message: String?, cause: Throwable?,
|
||||
@Suppress("unused", "LocalVariableName") _marker: Unit
|
||||
) : super(message, cause, _marker) {
|
||||
@ -69,7 +69,7 @@ public class VersionDuplicationException : SchemaDefinitionException, CopyableTh
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
public fun formatMessage(
|
||||
template: Module.Template<*>, versionOwner: Module<*, *>, newModule: Module<*, *>, version: String
|
||||
template: Module.Template<*>, versionOwner: Module<*>, newModule: Module<*>, version: String
|
||||
): String = "Version '${version}' already associated with $versionOwner and $newModule provided by $template has the same version (circular upgrades are prohibited)"
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ import ru.landgrafhomyak.db.skeleton1.api.runtime.Transaction
|
||||
import ru.landgrafhomyak.db.skeleton1.api.table.Table
|
||||
|
||||
|
||||
public interface Module<mUE : Any, IK : Any> {
|
||||
public interface Module<mUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("uExt")
|
||||
public val uExt: mUE
|
||||
@ -21,7 +21,7 @@ public interface Module<mUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getParentModule")
|
||||
public val parentModule: Module<*, IK>?
|
||||
public val parentModule: Module<*>?
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@ -31,63 +31,63 @@ public interface Module<mUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberTables")
|
||||
public val memberTables: Collection<Table<*, mUE, IK>>
|
||||
public val memberTables: Collection<Table<*, mUE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjects")
|
||||
public val memberObjects: Collection<ModuleScopedObject<*, mUE, IK>>
|
||||
public val memberObjects: Collection<ModuleScopedObject<*, mUE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberSubmodules")
|
||||
public val memberSubmodules: Collection<Module<*, IK>>
|
||||
public val memberSubmodules: Collection<Module<*>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberTablesWhileUpgrade")
|
||||
public val memberTablesWhileUpgrade: Collection<Table<*, mUE, IK>>
|
||||
public val memberTablesWhileUpgrade: Collection<Table<*, mUE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjectsWhileUpgrade")
|
||||
public val memberObjectsWhileUpgrade: Collection<ModuleScopedObject<*, mUE, IK>>
|
||||
public val memberObjectsWhileUpgrade: Collection<ModuleScopedObject<*, mUE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberSubmodulesWhileUpgrade")
|
||||
public val memberSubmodulesWhileUpgrade: Collection<Module<*, IK>>
|
||||
public val memberSubmodulesWhileUpgrade: Collection<Module<*>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("willBeDeletedAfterUpgrade")
|
||||
public val willBeDeletedAfterUpgrade: Boolean
|
||||
|
||||
public interface Constructor<mUE : Any, IK : Any> {
|
||||
public interface Constructor<mUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("versionKey")
|
||||
public val versionKey: String
|
||||
|
||||
public fun createSchema(context: ModuleConstructorScope<mUE, IK>): mUE
|
||||
public fun createSchema(context: ModuleConstructorScope<mUE>): mUE
|
||||
|
||||
public suspend fun initData(ext: mUE, compiler: QueriesCompiler<IK>, transaction: Transaction<IK>) {}
|
||||
public suspend fun initData(ext: mUE, compiler: QueriesCompiler, transaction: Transaction) {}
|
||||
}
|
||||
|
||||
public interface Upgrade<nmUE : Any, omUE : Any, IK : Any> {
|
||||
public interface Upgrade<nmUE : Any, omUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("versionKey")
|
||||
public val versionKey: String
|
||||
|
||||
public fun upgradeSchema(context: ModuleUpgradeScope<nmUE, omUE, IK>): nmUE
|
||||
public fun upgradeSchema(context: ModuleUpgradeScope<nmUE, omUE>): nmUE
|
||||
|
||||
public suspend fun upgradeData(ext: nmUE, compiler: QueriesCompiler<IK>, transaction: Transaction<IK>) {}
|
||||
public suspend fun upgradeData(ext: nmUE, compiler: QueriesCompiler, transaction: Transaction) {}
|
||||
}
|
||||
|
||||
public interface Template<@Suppress("unused") mUE : Any> {
|
||||
@LowLevelApi
|
||||
public fun <IK : Any> getConstructor(): Constructor<*, IK>
|
||||
public fun getConstructor(): Constructor<*>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <IK : Any> getUpgrade(version: String): Upgrade<*, *, IK>?
|
||||
public fun getUpgrade(version: String): Upgrade<*, *>?
|
||||
}
|
||||
}
|
@ -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, IK : Any> {
|
||||
public interface ModuleConstructorScope<mUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("rootNs")
|
||||
public val rootNs: Namespace<mUE, IK>
|
||||
public val rootNs: Namespace<mUE>
|
||||
|
||||
public fun <tUE : Any> createTable(
|
||||
lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE,
|
||||
namespace: Namespace<mUE, IK> = this.rootNs,
|
||||
name: String, initializer: Table.Constructor<tUE, IK>
|
||||
): Table<tUE, mUE, IK>
|
||||
namespace: Namespace<mUE> = this.rootNs,
|
||||
name: String, initializer: Table.Constructor<tUE>
|
||||
): Table<tUE, mUE>
|
||||
|
||||
public fun <oUE : Any?> moduleScopedObject(
|
||||
namespace: Namespace<mUE, IK> = this.rootNs,
|
||||
namespace: Namespace<mUE> = this.rootNs,
|
||||
name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>
|
||||
): ModuleScopedObject<oUE, mUE, IK>
|
||||
): ModuleScopedObject<oUE, mUE>
|
||||
|
||||
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE, IK>, template: Module.Template<mUE>): Module<mUE, IK>
|
||||
public fun <mUE : Any> substituteModule(rootNs: Namespace<mUE>, template: Module.Template<mUE>): Module<mUE>
|
||||
|
||||
public fun namespace(parent: Namespace<mUE, IK>, name: String): Namespace<mUE, IK>
|
||||
public fun namespace(parent: Namespace<mUE>, name: String): Namespace<mUE>
|
||||
|
||||
public fun addStatement(stmt: _Statement.Void2Void<*, IK>)
|
||||
public fun addStatement(stmt: _Statement.Void2Void<*>)
|
||||
public fun addStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addStatement(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addStatement(stmt: _Statement.Params2Void<sUE>): InputRow._Scope<sUE, Unit>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, Unit>
|
||||
}
|
@ -4,14 +4,14 @@ import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations
|
||||
|
||||
public interface ModuleScopedObject<oUE : Any?, mUE : Any, IK : Any> {
|
||||
public interface ModuleScopedObject<oUE : Any?, mUE : Any> {
|
||||
public val uExt: oUE
|
||||
|
||||
@ReflectionApi
|
||||
public val name: String
|
||||
|
||||
@ReflectionApi
|
||||
public val module: Module<mUE, IK>
|
||||
public val module: Module<mUE>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
|
@ -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, IK : Any> : ModuleConstructorScope<nmUE, IK> {
|
||||
public interface ModuleUpgradeScope<nmUE : Any, omUE : Any> : ModuleConstructorScope<nmUE> {
|
||||
// Table -------------------------------------------------------------------
|
||||
public fun <tUE : Any> keepTable(table: Table<tUE, omUE, IK>): Table<tUE, nmUE, IK>
|
||||
public fun <tUE : Any> keepTable(table: Table<tUE, omUE>): Table<tUE, nmUE>
|
||||
public fun <tUE : Any> keepAndRenameTable(
|
||||
table: Table<tUE, omUE, IK>,
|
||||
newNamespace: Namespace<nmUE, IK>? = null, newName: String
|
||||
): Table<tUE, nmUE, IK>
|
||||
table: Table<tUE, omUE>,
|
||||
newNamespace: Namespace<nmUE>? = null, newName: String
|
||||
): Table<tUE, nmUE>
|
||||
|
||||
public fun <ntUE : Any, otUE : Any> upgradeTable(
|
||||
oldTable: Table<otUE, omUE, IK>,
|
||||
upgrade: Table.Upgrade<ntUE, otUE, IK>
|
||||
): Table<ntUE, nmUE, IK>
|
||||
oldTable: Table<otUE, omUE>,
|
||||
upgrade: Table.Upgrade<ntUE, otUE>
|
||||
): Table<ntUE, nmUE>
|
||||
|
||||
public fun <ntUE : Any, otUE : Any> upgradeAndRenameTable(
|
||||
table: Table<otUE, omUE, IK>,
|
||||
newNamespace: Namespace<nmUE, IK>? = null, newName: String,
|
||||
upgrade: Table.Upgrade<ntUE, otUE, IK>
|
||||
): Table<ntUE, nmUE, IK>
|
||||
table: Table<otUE, omUE>,
|
||||
newNamespace: Namespace<nmUE>? = null, newName: String,
|
||||
upgrade: Table.Upgrade<ntUE, otUE>
|
||||
): Table<ntUE, nmUE>
|
||||
|
||||
public fun deleteTable(table: Table<*, omUE, IK>)
|
||||
public fun <tUE : Any> deleteTableAfterModuleUpgrade(table: Table<tUE, omUE, IK>): Table<tUE, nmUE, IK>
|
||||
public fun deleteTable(table: Table<*, omUE>)
|
||||
public fun <tUE : Any> deleteTableAfterModuleUpgrade(table: Table<tUE, omUE>): Table<tUE, nmUE>
|
||||
|
||||
public fun exportTable(table: Table<*, omUE, IK>)
|
||||
public fun exportTable(table: Table<*, omUE>)
|
||||
public fun <tUE : Any> importTable(
|
||||
table: Table<tUE, *, IK>,
|
||||
namespace: Namespace<nmUE, IK> = this.rootNs, name: String
|
||||
): Table<tUE, nmUE, IK>
|
||||
table: Table<tUE, *>,
|
||||
namespace: Namespace<nmUE> = this.rootNs, name: String
|
||||
): Table<tUE, nmUE>
|
||||
|
||||
public fun <ntUE : Any, otUE : Any> importAndUpgradeTable(
|
||||
table: Table<otUE, *, IK>,
|
||||
namespace: Namespace<nmUE, IK> = this.rootNs, name: String,
|
||||
upgrade: Table.Upgrade<ntUE, otUE, IK>
|
||||
): Table<ntUE, nmUE, IK>
|
||||
table: Table<otUE, *>,
|
||||
namespace: Namespace<nmUE> = this.rootNs, name: String,
|
||||
upgrade: Table.Upgrade<ntUE, otUE>
|
||||
): Table<ntUE, nmUE>
|
||||
|
||||
// Object ------------------------------------------------------------------
|
||||
|
||||
public fun <oUE : Any?> keepModuleScopedObject(obj: ModuleScopedObject<oUE, omUE, IK>): ModuleScopedObject<oUE, nmUE, IK>
|
||||
public fun <oUE : Any?> keepModuleScopedObject(obj: ModuleScopedObject<oUE, omUE>): ModuleScopedObject<oUE, nmUE>
|
||||
public fun <oUE : Any?> renameModuleScopedObject(
|
||||
obj: ModuleScopedObject<oUE, omUE, IK>,
|
||||
newNamespace: Namespace<nmUE, IK>? = null, newName: String
|
||||
): ModuleScopedObject<oUE, nmUE, IK>
|
||||
obj: ModuleScopedObject<oUE, omUE>,
|
||||
newNamespace: Namespace<nmUE>? = null, newName: String
|
||||
): ModuleScopedObject<oUE, nmUE>
|
||||
|
||||
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 <oUE : Any?> deleteModuleScopedObject(obj: ModuleScopedObject<oUE, omUE>)
|
||||
public fun <oUE : Any?> deleteModuleScopedObjectAfterModuleUpgrade(obj: ModuleScopedObject<oUE, omUE>): ModuleScopedObject<oUE, nmUE>
|
||||
|
||||
public fun exportModuleScopedObject(obj: ModuleScopedObject<*, omUE, IK>)
|
||||
public fun exportModuleScopedObject(obj: ModuleScopedObject<*, omUE>)
|
||||
public fun <oUE : Any> importModuleScopedObject(
|
||||
obj: ModuleScopedObject<oUE, *, IK>,
|
||||
namespace: Namespace<nmUE, IK> = this.rootNs, name: String
|
||||
): ModuleScopedObject<oUE, nmUE, IK>
|
||||
obj: ModuleScopedObject<oUE, *>,
|
||||
namespace: Namespace<nmUE> = this.rootNs, name: String
|
||||
): ModuleScopedObject<oUE, nmUE>
|
||||
|
||||
|
||||
// Module ------------------------------------------------------------------
|
||||
|
||||
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> keepModule(module: Module<smUE>): Module<smUE>
|
||||
public fun <smUE : Any> keepAndMoveModule(oldModule: Module<smUE>, newNs: Namespace<nmUE>): Module<smUE>
|
||||
|
||||
public fun <smUE : Any> upgradeModule(oldModule: Module<*, IK>, template: Module.Template<smUE>): Module<smUE, IK>
|
||||
public fun <smUE : Any> upgradeModule(oldModule: Module<*>, template: Module.Template<smUE>): Module<smUE>
|
||||
public fun <smUE : Any> upgradeAndMoveModule(
|
||||
oldModule: Module<*, IK>,
|
||||
newNamespace: Namespace<nmUE, IK>,
|
||||
oldModule: Module<*>,
|
||||
newNamespace: Namespace<nmUE>,
|
||||
template: Module.Template<smUE>
|
||||
): Module<smUE, IK>
|
||||
): Module<smUE>
|
||||
|
||||
public fun deleteModule(oldModule: Module<*, IK>)
|
||||
public fun <smUE : Any> deleteModuleAfterUpgrade(oldModule: Module<smUE, IK>): Module<smUE, IK>
|
||||
public fun deleteModule(oldModule: Module<*>)
|
||||
public fun <smUE : Any> deleteModuleAfterUpgrade(oldModule: Module<smUE>): Module<smUE>
|
||||
|
||||
public fun exportModule(table: Module<*, IK>)
|
||||
public fun exportModule(table: Module<*>)
|
||||
|
||||
public fun <smUE : Any> importModule(
|
||||
module: Module<smUE, IK>,
|
||||
namespace: Namespace<nmUE, IK>,
|
||||
): Module<smUE, IK>
|
||||
module: Module<smUE>,
|
||||
namespace: Namespace<nmUE>,
|
||||
): Module<smUE>
|
||||
|
||||
public fun <nsmUE : Any, osmUE : Any> importAndUpgradeModule(
|
||||
module: Module<osmUE, IK>,
|
||||
namespace: Namespace<nmUE, IK>,
|
||||
upgrade: Module.Upgrade<nsmUE, osmUE, IK>
|
||||
): Module<nsmUE, IK>
|
||||
module: Module<osmUE>,
|
||||
namespace: Namespace<nmUE>,
|
||||
upgrade: Module.Upgrade<nsmUE, osmUE>
|
||||
): Module<nsmUE>
|
||||
|
||||
// Statements --------------------------------------------------------------
|
||||
|
||||
public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*, IK>)
|
||||
public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*>)
|
||||
public fun addStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE>): InputRow._Scope<sUE, Unit>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, Unit>
|
||||
}
|
@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.module
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
|
||||
public interface Namespace<mUE : Any, IK : Any> {
|
||||
public interface Namespace<mUE : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getName")
|
||||
@ -12,5 +12,5 @@ public interface Namespace<mUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getPath")
|
||||
public val parent: Namespace<mUE, IK>?
|
||||
public val parent: Namespace<mUE>?
|
||||
}
|
@ -2,8 +2,8 @@ package ru.landgrafhomyak.db.skeleton1.api.runtime
|
||||
|
||||
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
|
||||
|
||||
public interface Executor<IK : Any> {
|
||||
public interface Executor {
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun _startTransaction(): Transaction<IK>
|
||||
public suspend fun _startTransaction(): Transaction
|
||||
}
|
@ -4,27 +4,27 @@ import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam
|
||||
|
||||
public interface InputRow<qUE : Any, IK : Any> {
|
||||
public interface InputRow<qUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("uExt")
|
||||
public val uExt: qUE
|
||||
|
||||
public operator fun <RuntimeType> set(c: InputParam<RuntimeType, qUE, IK>, value: RuntimeType)
|
||||
public operator fun <RuntimeType> set(c: InputParam<RuntimeType, qUE>, value: RuntimeType)
|
||||
|
||||
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)
|
||||
public operator fun set(c: InputParam<Byte, qUE>, value: Byte): Unit = this.set<Byte>(c, value)
|
||||
public operator fun set(c: InputParam<UByte, qUE>, value: UByte): Unit = this.set<UByte>(c, value)
|
||||
public operator fun set(c: InputParam<Short, qUE>, value: Short): Unit = this.set<Short>(c, value)
|
||||
public operator fun set(c: InputParam<UShort, qUE>, value: UShort): Unit = this.set<UShort>(c, value)
|
||||
public operator fun set(c: InputParam<Int, qUE>, value: Int): Unit = this.set<Int>(c, value)
|
||||
public operator fun set(c: InputParam<UInt, qUE>, value: UInt): Unit = this.set<UInt>(c, value)
|
||||
public operator fun set(c: InputParam<Long, qUE>, value: Long): Unit = this.set<Long>(c, value)
|
||||
public operator fun set(c: InputParam<ULong, qUE>, value: ULong): Unit = this.set<ULong>(c, value)
|
||||
public operator fun set(c: InputParam<Char, qUE>, value: Char): Unit = this.set<Char>(c, value)
|
||||
public operator fun set(c: InputParam<Boolean, qUE>, value: Boolean): Unit = this.set<Boolean>(c, value)
|
||||
|
||||
@Suppress("ClassName")
|
||||
@LowLevelApi
|
||||
public interface _Scope<qUE : Any, RK : Any, out Next> : InputRow<qUE, RK> {
|
||||
public interface _Scope<qUE : Any, out Next> : InputRow<qUE> {
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun _finish(): Next
|
||||
@ -36,7 +36,7 @@ public interface InputRow<qUE : Any, IK : Any> {
|
||||
|
||||
@Suppress("ClassName")
|
||||
@LowLevelApi
|
||||
public interface _Iterator<qUE : Any, RK : Any, out Next> : _Scope<qUE, RK, Next>, InputRow<qUE, RK> {
|
||||
public interface _Iterator<qUE : Any, out Next> : _Scope<qUE, Next>, InputRow<qUE> {
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun _next(): Boolean
|
||||
|
@ -4,27 +4,27 @@ import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.LowLevelApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.statement.OutputColumn
|
||||
|
||||
public interface OutputRow<qUE : Any, IK : Any> {
|
||||
public interface OutputRow<qUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("uExt")
|
||||
public val uExt: qUE
|
||||
|
||||
public operator fun <RuntimeType> get(c: OutputColumn<RuntimeType, qUE, IK>): RuntimeType
|
||||
public operator fun <RuntimeType> get(c: OutputColumn<RuntimeType, qUE>): RuntimeType
|
||||
|
||||
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)
|
||||
public operator fun get(c: OutputColumn<Byte, qUE>): Byte = this.get<Byte>(c)
|
||||
public operator fun get(c: OutputColumn<UByte, qUE>): UByte = this.get<UByte>(c)
|
||||
public operator fun get(c: OutputColumn<Short, qUE>): Short = this.get<Short>(c)
|
||||
public operator fun get(c: OutputColumn<UShort, qUE>): UShort = this.get<UShort>(c)
|
||||
public operator fun get(c: OutputColumn<Int, qUE>): Int = this.get<Int>(c)
|
||||
public operator fun get(c: OutputColumn<UInt, qUE>): UInt = this.get<UInt>(c)
|
||||
public operator fun get(c: OutputColumn<Long, qUE>): Long = this.get<Long>(c)
|
||||
public operator fun get(c: OutputColumn<ULong, qUE>): ULong = this.get<ULong>(c)
|
||||
public operator fun get(c: OutputColumn<Char, qUE>): Char = this.get<Char>(c)
|
||||
public operator fun get(c: OutputColumn<Boolean, qUE>): Boolean = this.get<Boolean>(c)
|
||||
|
||||
@Suppress("ClassName")
|
||||
@LowLevelApi
|
||||
public interface _Scope<qUE : Any, RK : Any, out Next> : OutputRow<qUE, RK> {
|
||||
public interface _Scope<qUE : Any,out Next> : OutputRow<qUE> {
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun _finish(): Next
|
||||
@ -36,7 +36,7 @@ public interface OutputRow<qUE : Any, IK : Any> {
|
||||
|
||||
@Suppress("ClassName")
|
||||
@LowLevelApi
|
||||
public interface _Iterator<qUE : Any, RK : Any, out Next> : _Scope<qUE, RK, Next>, OutputRow<qUE, RK> {
|
||||
public interface _Iterator<qUE : Any, out Next> : _Scope<qUE, Next>, OutputRow<qUE> {
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun _next(): Boolean
|
||||
|
@ -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<IK : Any> {
|
||||
public suspend fun <qUE : Any?> executeQuery_void2void(compiledQuery: _Statement.Void2Void<qUE, IK>)
|
||||
public interface Transaction {
|
||||
public suspend fun <qUE : Any?> executeQuery_void2void(compiledQuery: _Statement.Void2Void<qUE>)
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_void2row(compiledQuery: _Statement.Void2Row<qUE, IK>): OutputRow._Scope<qUE, IK, Unit>
|
||||
public suspend fun <qUE : Any> _executeQuery_void2row(compiledQuery: _Statement.Void2Row<qUE>): OutputRow._Scope<qUE, Unit>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): OutputRow._Scope<qUE, IK, Unit>?
|
||||
public suspend fun <qUE : Any> _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE>): OutputRow._Scope<qUE, Unit>?
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): OutputRow._Iterator<qUE, IK, Unit>
|
||||
public suspend fun <qUE : Any> _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull<qUE>): OutputRow._Iterator<qUE, Unit>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_params2void(compiledQuery: _Statement.Void2Void<qUE, IK>): InputRow._Scope<qUE, IK, Unit>
|
||||
public suspend fun <qUE : Any> _executeQuery_params2void(compiledQuery: _Statement.Void2Void<qUE>): InputRow._Scope<qUE, Unit>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_params2row(compiledQuery: _Statement.Void2Row<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Scope<qUE, IK, Unit>>
|
||||
public suspend fun <qUE : Any> _executeQuery_params2row(compiledQuery: _Statement.Void2Row<qUE>): InputRow._Scope<qUE, OutputRow._Scope<qUE, Unit>>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Scope<qUE, IK, Unit>?>
|
||||
public suspend fun <qUE : Any> _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull<qUE>): InputRow._Scope<qUE, OutputRow._Scope<qUE, Unit>?>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull<qUE, IK>): InputRow._Scope<qUE, IK, OutputRow._Iterator<qUE, IK, Unit>>
|
||||
public suspend fun <qUE : Any> _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull<qUE>): InputRow._Scope<qUE, OutputRow._Iterator<qUE, Unit>>
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@LowLevelApi
|
||||
public suspend fun <qUE : Any> _executeBatch_params2void(compiledQuery: _Statement.Void2Void<qUE, IK>): InputRow._Iterator<qUE, IK, Unit>
|
||||
public suspend fun <qUE : Any> _executeBatch_params2void(compiledQuery: _Statement.Void2Void<qUE>): InputRow._Iterator<qUE, Unit>
|
||||
|
||||
public suspend fun rollback()
|
||||
|
||||
|
@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
|
||||
public interface InputParam<@Suppress("unused") RT, sUE : Any, IK : Any> {
|
||||
public interface InputParam<@Suppress("unused") RT, sUE : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getName")
|
||||
@ -12,5 +12,5 @@ public interface InputParam<@Suppress("unused") RT, sUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getStatement")
|
||||
public val statement: _Statement<sUE, IK>
|
||||
public val statement: _Statement<sUE>
|
||||
}
|
@ -3,7 +3,7 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
|
||||
public interface OutputColumn<@Suppress("unused") RT, sUE : Any, IK : Any> {
|
||||
public interface OutputColumn<@Suppress("unused") RT, sUE : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("name")
|
||||
@ -12,5 +12,5 @@ public interface OutputColumn<@Suppress("unused") RT, sUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getStatement")
|
||||
public val statement: _Statement<sUE, IK>
|
||||
public val statement: _Statement<sUE>
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||
|
||||
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>
|
||||
public interface QueriesCompiler {
|
||||
public fun <sUE : Any?> raw_void2void(constructor: RawStatement.Void2Void.ImplementationsProvider<sUE>): RawStatement.Void2Void<sUE>
|
||||
public fun <sUE : Any> raw_void2row(constructor: RawStatement.Void2Row.ImplementationsProvider<sUE>): RawStatement.Void2Row<sUE>
|
||||
public fun <sUE : Any> raw_void2rowOrNull(constructor: RawStatement.Void2RowOrNull.ImplementationsProvider<sUE>): RawStatement.Void2RowOrNull<sUE>
|
||||
public fun <sUE : Any> raw_void2table(constructor: RawStatement.Void2Table.ImplementationsProvider<sUE>): RawStatement.Void2Table<sUE>
|
||||
public fun <sUE : Any> raw_params2void(constructor: RawStatement.Params2Void.ImplementationsProvider<sUE>): RawStatement.Params2Void<sUE>
|
||||
public fun <sUE : Any> raw_params2row(constructor: RawStatement.Params2Row.ImplementationsProvider<sUE>): RawStatement.Params2Row<sUE>
|
||||
public fun <sUE : Any> raw_params2rowOrNull(constructor: RawStatement.Params2RowOrNull.ImplementationsProvider<sUE>): RawStatement.Params2RowOrNull<sUE>
|
||||
public fun <sUE : Any> raw_params2table(constructor: RawStatement.Params2Table.ImplementationsProvider<sUE>): RawStatement.Params2Table<sUE>
|
||||
}
|
@ -2,10 +2,10 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||
|
||||
import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo
|
||||
|
||||
public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
public interface RawStatement<sUE : Any?> : _Statement<sUE> {
|
||||
public override val uExt: sUE
|
||||
|
||||
public interface Void2Void<sUE : Any?, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Void<sUE, IK> {
|
||||
public interface Void2Void<sUE : Any?> : RawStatement<sUE>, _Statement.Void2Void<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<@Suppress("unused") sUE : Any?>
|
||||
@ -25,7 +25,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Void2Row<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Row<sUE, IK> {
|
||||
public interface Void2Row<sUE : Any> : RawStatement<sUE>, _Statement.Void2Row<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -47,7 +47,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Void2RowOrNull<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2RowOrNull<sUE, IK> {
|
||||
public interface Void2RowOrNull<sUE : Any> : RawStatement<sUE>, _Statement.Void2RowOrNull<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -70,7 +70,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
|
||||
}
|
||||
|
||||
public interface Void2Table<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Void2Table<sUE, IK> {
|
||||
public interface Void2Table<sUE : Any> : RawStatement<sUE>, _Statement.Void2Table<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -92,7 +92,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Params2Void<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Void<sUE, IK> {
|
||||
public interface Params2Void<sUE : Any> : RawStatement<sUE>, _Statement.Params2Void<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -114,7 +114,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Params2Row<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Row<sUE, IK> {
|
||||
public interface Params2Row<sUE : Any> : RawStatement<sUE>, _Statement.Params2Row<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -136,7 +136,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Params2RowOrNull<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2RowOrNull<sUE, IK> {
|
||||
public interface Params2RowOrNull<sUE : Any> : RawStatement<sUE>, _Statement.Params2RowOrNull<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
@ -158,7 +158,7 @@ public interface RawStatement<sUE : Any?, IK : Any> : _Statement<sUE, IK> {
|
||||
}
|
||||
}
|
||||
|
||||
public interface Params2Table<sUE : Any, IK : Any> : RawStatement<sUE, IK>, _Statement.Params2Table<sUE, IK> {
|
||||
public interface Params2Table<sUE : Any> : RawStatement<sUE>, _Statement.Params2Table<sUE> {
|
||||
override val uExt: sUE
|
||||
|
||||
public interface Constructor<sUE : Any> {
|
||||
|
@ -2,14 +2,14 @@ package ru.landgrafhomyak.db.skeleton1.api.statement
|
||||
|
||||
import ru.landgrafhomyak.db.skeleton1.api.DatabaseType
|
||||
|
||||
public interface StatementIODeclarationScope<@Suppress("unused") sUE : Any, @Suppress("unused") IK : Any> {
|
||||
public interface Input<sUE : Any, IK : Any> : StatementIODeclarationScope<sUE, IK> {
|
||||
public fun <RT> inputParam(type: DatabaseType.ImplementationsProvider<RT>): InputParam<RT, sUE, IK>
|
||||
public interface StatementIODeclarationScope<@Suppress("unused") sUE : Any> {
|
||||
public interface Input<sUE : Any> : StatementIODeclarationScope<sUE> {
|
||||
public fun <RT> inputParam(type: DatabaseType.ImplementationsProvider<RT>): InputParam<RT, sUE>
|
||||
}
|
||||
|
||||
public interface Output<sUE : Any, IK : Any> : StatementIODeclarationScope<sUE, IK> {
|
||||
public fun <RT> outputColumn(type: DatabaseType.ImplementationsProvider<RT>): OutputColumn<RT, sUE, IK>
|
||||
public interface Output<sUE : Any> : StatementIODeclarationScope<sUE> {
|
||||
public fun <RT> outputColumn(type: DatabaseType.ImplementationsProvider<RT>): OutputColumn<RT, sUE>
|
||||
}
|
||||
|
||||
public interface InputOutput<sUE : Any, IK : Any> : StatementIODeclarationScope<sUE, IK>, Input<sUE, IK>, Output<sUE, IK>
|
||||
public interface InputOutput<sUE : Any> : StatementIODeclarationScope<sUE>, Input<sUE>, Output<sUE>
|
||||
}
|
@ -4,17 +4,17 @@ import kotlin.jvm.JvmName
|
||||
|
||||
|
||||
@Suppress("ClassName")
|
||||
public interface _Statement<sUE : Any?, IK: Any> {
|
||||
public interface _Statement<sUE : Any?> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("uExt")
|
||||
public val uExt: sUE
|
||||
|
||||
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>
|
||||
public interface Void2Void<sUE : Any?> : _Statement<sUE>
|
||||
public interface Void2Row<sUE : Any> : _Statement<sUE>
|
||||
public interface Void2RowOrNull<sUE : Any> : _Statement<sUE>
|
||||
public interface Void2Table<sUE : Any> : _Statement<sUE>
|
||||
public interface Params2Void<sUE : Any> : _Statement<sUE>
|
||||
public interface Params2Row<sUE : Any> : _Statement<sUE>
|
||||
public interface Params2RowOrNull<sUE : Any> : _Statement<sUE>
|
||||
public interface Params2Table<sUE : Any> : _Statement<sUE>
|
||||
}
|
@ -4,7 +4,7 @@ import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.DatabaseType
|
||||
|
||||
public interface Column<RT, tUE : Any, IK : Any> {
|
||||
public interface Column<RT, tUE : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("name")
|
||||
@ -17,7 +17,7 @@ public interface Column<RT, tUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getTable")
|
||||
public val table: Table<tUE, *, IK>
|
||||
public val table: Table<tUE, *>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
|
@ -3,9 +3,8 @@ package ru.landgrafhomyak.db.skeleton1.api.table
|
||||
import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.module.Module
|
||||
import ru.landgrafhomyak.db.skeleton1.api.module.Namespace
|
||||
|
||||
public interface Table<UE : Any, mUE : Any, IK : Any> {
|
||||
public interface Table<UE : Any, mUE : Any> {
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("uExt")
|
||||
public val uExt: UE
|
||||
@ -23,7 +22,7 @@ public interface Table<UE : Any, mUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getModule")
|
||||
public val module: Module<mUE, IK>
|
||||
public val module: Module<mUE>
|
||||
|
||||
public enum class LifeTime {
|
||||
DATABASE_SCOPE,
|
||||
@ -40,28 +39,28 @@ public interface Table<UE : Any, mUE : Any, IK : Any> {
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberColumns")
|
||||
public val memberColumns: Collection<Column<*, UE, IK>>
|
||||
public val memberColumns: Collection<Column<*, UE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjects")
|
||||
public val memberObjects: Collection<TableScopedObject<*, UE, IK>>
|
||||
public val memberObjects: Collection<TableScopedObject<*, UE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberColumnsWhileUpgrade")
|
||||
public val memberColumnsWhileUpgrade: Collection<Column<*, UE, IK>>
|
||||
public val memberColumnsWhileUpgrade: Collection<Column<*, UE>>
|
||||
|
||||
@ReflectionApi
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("getMemberObjectsWhileUpgrade")
|
||||
public val memberObjectsWhileUpgrade: Collection<TableScopedObject<*, UE, IK>>
|
||||
public val memberObjectsWhileUpgrade: Collection<TableScopedObject<*, UE>>
|
||||
|
||||
public interface Constructor<tUE : Any, RK : Any> {
|
||||
public fun createTable(context: TableConstructorScope<tUE, RK>): tUE
|
||||
public interface Constructor<tUE : Any> {
|
||||
public fun createTable(context: TableConstructorScope<tUE>): tUE
|
||||
}
|
||||
|
||||
public interface Upgrade<tnUE : Any, toUE : Any, RK : Any> {
|
||||
public fun upgradeTable(oldTable: toUE, context: TableUpgradeScope<tnUE, toUE, RK>): tnUE
|
||||
public interface Upgrade<tnUE : Any, toUE : Any> {
|
||||
public fun upgradeTable(oldTable: toUE, context: TableUpgradeScope<tnUE, toUE>): tnUE
|
||||
}
|
||||
}
|
@ -8,38 +8,38 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement
|
||||
import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow
|
||||
|
||||
|
||||
public interface TableConstructorScope<tUE : Any, IK : Any> {
|
||||
public fun <RT> column(name: String, type: DatabaseType.ImplementationsProvider<RT>): Column<RT, tUE, IK>
|
||||
public interface TableConstructorScope<tUE : Any> {
|
||||
public fun <RT> column(name: String, type: DatabaseType.ImplementationsProvider<RT>): Column<RT, tUE>
|
||||
|
||||
public fun <RT> column(
|
||||
name: String, type: DatabaseType.ImplementationsProvider<RT>,
|
||||
alterCreateColumn: _Statement.Void2Void<*, IK>
|
||||
): Column<RT, tUE, IK>
|
||||
alterCreateColumn: _Statement.Void2Void<*>
|
||||
): Column<RT, tUE>
|
||||
public fun <RT> column(
|
||||
name: String, type: DatabaseType.ImplementationsProvider<RT>,
|
||||
alterCreateColumn: RawStatement.Void2Void.ImplementationsProvider<*>
|
||||
): Column<RT, tUE, IK>
|
||||
): Column<RT, tUE>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <RT, sUE : Any> _column(
|
||||
name: String, type: DatabaseType.ImplementationsProvider<RT>,
|
||||
alterCreateColumn: _Statement.Void2Void<sUE, IK>
|
||||
): InputRow._Scope<sUE, IK, Column<RT, tUE, IK>>
|
||||
alterCreateColumn: _Statement.Void2Void<sUE>
|
||||
): InputRow._Scope<sUE, Column<RT, tUE>>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <RT, sUE : Any> _column(
|
||||
name: String, type: DatabaseType.ImplementationsProvider<RT>,
|
||||
alterCreateColumn: RawStatement.Params2Void.ImplementationsProvider<sUE>
|
||||
): InputRow._Scope<sUE, IK, Column<RT, tUE, IK>>
|
||||
): InputRow._Scope<sUE, Column<RT, tUE>>
|
||||
|
||||
public fun <oUE : Any?> tableScopedObject(name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>): TableScopedObject<oUE, tUE, IK>
|
||||
public fun <oUE : Any?> tableScopedObject(name: String, metadata: ObjectOperations.ImplementationsProvider<oUE>): TableScopedObject<oUE, tUE>
|
||||
|
||||
public fun addAlterStatement(stmt: _Statement.Void2Void<*, IK>)
|
||||
public fun addAlterStatement(stmt: _Statement.Void2Void<*>)
|
||||
public fun addAlterStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addAlterStatement(stmt: _Statement.Void2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addAlterStatement(stmt: _Statement.Void2Void<sUE>): InputRow._Scope<sUE, Unit>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, Unit>
|
||||
}
|
@ -4,14 +4,14 @@ import kotlin.jvm.JvmName
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ReflectionApi
|
||||
import ru.landgrafhomyak.db.skeleton1.api.ObjectOperations
|
||||
|
||||
public interface TableScopedObject<oUE : Any?, tUE : Any, IK : Any> {
|
||||
public interface TableScopedObject<oUE : Any?, tUE : Any> {
|
||||
public val uExt: oUE
|
||||
|
||||
@ReflectionApi
|
||||
public val name: String
|
||||
|
||||
@ReflectionApi
|
||||
public val table: Table<tUE, *, IK>
|
||||
public val table: Table<tUE, *>
|
||||
|
||||
@ReflectionApi
|
||||
public val meta: ObjectOperations.ImplementationsProvider<oUE>
|
||||
|
@ -5,23 +5,23 @@ 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, 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 interface TableUpgradeScope<tnUE : Any, toUE : Any> : TableConstructorScope<tnUE> {
|
||||
public fun <RT> keepColumn(c: Column<RT, toUE>): Column<RT, tnUE>
|
||||
public fun <RT> renameColumn(c: Column<RT, toUE>, newName: String): Column<RT, tnUE>
|
||||
public fun deleteColumn(c: Column<*, toUE>)
|
||||
public fun <RT> deleteColumnAfterUpgrade(c: Column<RT, toUE>): Column<RT, tnUE>
|
||||
|
||||
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>)
|
||||
public fun <oUE : Any?> deleteTableScopedObjectAfterUpgrade(obj: TableScopedObject<oUE, toUE, IK>): TableScopedObject<oUE, tnUE, IK>
|
||||
public fun <oUE : Any?> keepTableScopedObject(obj: TableScopedObject<oUE, toUE>): TableScopedObject<oUE, tnUE>
|
||||
public fun <oUE : Any?> renameTableScopedObject(obj: TableScopedObject<oUE, toUE>, newName: String): TableScopedObject<oUE, tnUE>
|
||||
public fun <oUE : Any?> deleteTableScopedObject(obj: TableScopedObject<oUE, toUE>)
|
||||
public fun <oUE : Any?> deleteTableScopedObjectAfterUpgrade(obj: TableScopedObject<oUE, toUE>): TableScopedObject<oUE, tnUE>
|
||||
|
||||
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, IK>)
|
||||
public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*>)
|
||||
public fun addAlterStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>)
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE, IK>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void<sUE>): InputRow._Scope<sUE, Unit>
|
||||
|
||||
@LowLevelApi
|
||||
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, IK, Unit>
|
||||
public fun <sUE : Any> _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider<sUE>): InputRow._Scope<sUE, Unit>
|
||||
}
|
Loading…
Reference in New Issue
Block a user