From 89c83c219fb135c89657341fc2df590daac5ef1f Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Fri, 9 May 2025 03:53:38 +0300 Subject: [PATCH] Splitted column descriptor to table's column and query's column --- .../skeleton1/api/module/CreateModuleScope.kt | 22 +++--- .../api/module/UpgradeModuleScope.kt | 72 +++++++++---------- .../db/skeleton1/api/runtime/InputRow.kt | 30 ++++---- .../db/skeleton1/api/runtime/OutputRow.kt | 29 ++++---- .../db/skeleton1/api/runtime/Transaction.kt | 20 +++--- .../{QueryParam.kt => InputParam.kt} | 7 +- .../skeleton1/api/statement/OutputColumn.kt | 16 +++++ .../skeleton1/api/table/TableConstructor.kt | 18 ++--- .../db/skeleton1/api/table/TableUpgrade.kt | 38 +++++----- 9 files changed, 137 insertions(+), 115 deletions(-) rename src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/{QueryParam.kt => InputParam.kt} (53%) create mode 100644 src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/CreateModuleScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/CreateModuleScope.kt index 220110c..6fa127a 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/CreateModuleScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/CreateModuleScope.kt @@ -9,29 +9,29 @@ import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow import ru.landgrafhomyak.db.skeleton1.api.table.TableConstructor -public interface CreateModuleScope { +public interface CreateModuleScope { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("rootNs") - public val rootNs: Namespace + public val rootNs: Namespace public fun createTable( lifeTime: Table.LifeTime = Table.LifeTime.DATABASE_SCOPE, - namespace: Namespace = this.rootNs, - name: String, initializer: TableConstructor - ): Table + namespace: Namespace = this.rootNs, + name: String, initializer: TableConstructor + ): Table - public fun moduleScopedObject(namespace: Namespace = this.rootNs, name: String): ModuleScopedObject + public fun moduleScopedObject(namespace: Namespace = this.rootNs, name: String): ModuleScopedObject - public fun substituteModule(rootNs: Namespace, template: Module.Template): Module + public fun substituteModule(rootNs: Namespace, template: Module.Template): Module - public fun namespace(parent: Namespace, name: String): Namespace + public fun namespace(parent: Namespace, name: String): Namespace public fun addStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>) - public fun addStatement(stmt: _Statement.Void2Void<*, RUNTIME_KEY>) + public fun addStatement(stmt: _Statement.Void2Void<*, RK>) @LowLevelApi - public fun _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope + public fun _addStatement(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope @LowLevelApi - public fun _addStatement(stmt: _Statement.Params2Void): InputRow._Scope + public fun _addStatement(stmt: _Statement.Params2Void): InputRow._Scope } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/UpgradeModuleScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/UpgradeModuleScope.kt index 97349d5..44cf17d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/UpgradeModuleScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/module/UpgradeModuleScope.kt @@ -8,66 +8,66 @@ import ru.landgrafhomyak.db.skeleton1.api.table.Table import ru.landgrafhomyak.db.skeleton1.api.table.TableUpgrade -public interface UpgradeModuleScope : CreateModuleScope { - public fun keepTable(table: Table): Table +public interface UpgradeModuleScope : CreateModuleScope { + public fun keepTable(table: Table): Table - public fun keepAndRenameTable(table: Table, newName: String): Table - public fun keepAndRenameTable(table: Table, newNamespace: Namespace): Table - public fun keepAndRenameTable(table: Table, newNamespace: Namespace, newName: String): Table + public fun keepAndRenameTable(table: Table, newName: String): Table + public fun keepAndRenameTable(table: Table, newNamespace: Namespace): Table + public fun keepAndRenameTable(table: Table, newNamespace: Namespace, newName: String): Table - public fun upgradeTable(oldTable: Table, upgrade: TableUpgrade): Table + public fun upgradeTable(oldTable: Table, upgrade: TableUpgrade): Table public fun upgradeAndRenameTable( - table: Table, + table: Table, newName: String, - upgrade: TableUpgrade - ): Table + upgrade: TableUpgrade + ): Table public fun upgradeAndRenameTable( - table: Table, - newNamespace: Namespace, - upgrade: TableUpgrade - ): Table + table: Table, + newNamespace: Namespace, + upgrade: TableUpgrade + ): Table public fun upgradeAndRenameTable( - table: Table, - newNamespace: Namespace, - upgrade: TableUpgrade, + table: Table, + newNamespace: Namespace, + upgrade: TableUpgrade, newName: String - ): Table + ): Table - public fun deleteTable(table: Table<*, omUE, RUNTIME_KEY>) + public fun deleteTable(table: Table<*, omUE, RK>) - public fun deleteTableAfterModuleUpgrade(table: Table): Table + public fun deleteTableAfterModuleUpgrade(table: Table): Table - public fun exportTable(table: Table<*, omUE, RUNTIME_KEY>) + public fun exportTable(table: Table<*, omUE, RK>) public fun importTable( - namespace: Namespace = this.rootNs, name: String, - table: Table - ): Table + namespace: Namespace = this.rootNs, name: String, + table: Table + ): Table public fun importAndUpgradeTable( - namespace: Namespace = this.rootNs, name: String, - table: Table, - upgrade: TableUpgrade - ): Table + namespace: Namespace = this.rootNs, name: String, + table: Table, + upgrade: TableUpgrade + ): Table - public fun keepModule(module: Module): Module - public fun keepAndMoveModule(oldModule: Module, newNs: Namespace): Module + public fun keepModule(module: Module): Module + public fun keepAndMoveModule(oldModule: Module, newNs: Namespace): Module - public fun upgradeModule(oldModule: Module<*, RUNTIME_KEY>, template: Module.Template): Module - public fun upgradeAndMoveModule(oldModule: Module<*, RUNTIME_KEY>, newNs: Namespace, template: Module.Template): Module + public fun upgradeModule(oldModule: Module<*, RK>, template: Module.Template): Module + public fun upgradeAndMoveModule(oldModule: Module<*, RK>, newNs: Namespace, template: Module.Template): Module - public fun removeModule(oldModule: Module<*, RUNTIME_KEY>) - public fun removeModuleAfterUpgrade(oldModule: Module): Module + public fun removeModule(oldModule: Module<*, RK>) + public fun removeModuleAfterUpgrade(oldModule: Module): Module public fun addStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>) - public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RUNTIME_KEY>) + public fun addStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RK>) @LowLevelApi - public fun _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope + public fun _addStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope @LowLevelApi - public fun _addStatementAfterUpgrade(stmt: _Statement.Params2Void): InputRow._Scope + public fun _addStatementAfterUpgrade(stmt: _Statement.Params2Void): InputRow._Scope } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/InputRow.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/InputRow.kt index 4ad0d9e..a54483d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/InputRow.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/InputRow.kt @@ -2,29 +2,29 @@ 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.QueryParam +import ru.landgrafhomyak.db.skeleton1.api.statement.InputParam -public interface InputRow { +public interface InputRow { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("uExt") public val uExt: qUE - public operator fun set(c: QueryParam, value: RuntimeType) + public operator fun set(c: InputParam, value: RuntimeType) - public operator fun set(c: QueryParam, value: Byte): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UByte): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Short): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UShort): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Int): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UInt): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Long): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: ULong): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Char): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Boolean): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Byte): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: UByte): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Short): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: UShort): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Int): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: UInt): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Long): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: ULong): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Char): Unit = this.set(c, value) + public operator fun set(c: InputParam, value: Boolean): Unit = this.set(c, value) @Suppress("ClassName") @LowLevelApi - public interface _Scope : InputRow { + public interface _Scope : InputRow { @Suppress("FunctionName") @LowLevelApi public suspend fun _finish(): Next @@ -36,7 +36,7 @@ public interface InputRow { @Suppress("ClassName") @LowLevelApi - public interface _Iterator : _Scope, InputRow { + public interface _Iterator : _Scope, InputRow { @Suppress("FunctionName") @LowLevelApi public suspend fun _next(): Boolean diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/OutputRow.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/OutputRow.kt index 8618a28..5a6812f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/OutputRow.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/OutputRow.kt @@ -2,29 +2,30 @@ 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 { +public interface OutputRow { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("uExt") public val uExt: qUE - public operator fun get(c: Column): RuntimeType + public operator fun get(c: OutputColumn): RuntimeType - public operator fun get(c: Column): Byte = this.get(c) - public operator fun get(c: Column): UByte = this.get(c) - public operator fun get(c: Column): Short = this.get(c) - public operator fun get(c: Column): UShort = this.get(c) - public operator fun get(c: Column): Int = this.get(c) - public operator fun get(c: Column): UInt = this.get(c) - public operator fun get(c: Column): Long = this.get(c) - public operator fun get(c: Column): ULong = this.get(c) - public operator fun get(c: Column): Char = this.get(c) - public operator fun get(c: Column): Boolean = this.get(c) + public operator fun get(c: OutputColumn): Byte = this.get(c) + public operator fun get(c: OutputColumn): UByte = this.get(c) + public operator fun get(c: OutputColumn): Short = this.get(c) + public operator fun get(c: OutputColumn): UShort = this.get(c) + public operator fun get(c: OutputColumn): Int = this.get(c) + public operator fun get(c: OutputColumn): UInt = this.get(c) + public operator fun get(c: OutputColumn): Long = this.get(c) + public operator fun get(c: OutputColumn): ULong = this.get(c) + public operator fun get(c: OutputColumn): Char = this.get(c) + public operator fun get(c: OutputColumn): Boolean = this.get(c) @Suppress("ClassName") @LowLevelApi - public interface _Scope : OutputRow { + public interface _Scope : OutputRow { @Suppress("FunctionName") @LowLevelApi public suspend fun _finish(): Next @@ -36,7 +37,7 @@ public interface OutputRow { @Suppress("ClassName") @LowLevelApi - public interface _Iterator : _Scope, OutputRow { + public interface _Iterator : _Scope, OutputRow { @Suppress("FunctionName") @LowLevelApi public suspend fun _next(): Boolean diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/Transaction.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/Transaction.kt index 3fa241a..a284619 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/Transaction.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/runtime/Transaction.kt @@ -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 { - public suspend fun executeQuery_void2void(compiledQuery: _Statement.Void2Void) +public interface Transaction { + public suspend fun executeQuery_void2void(compiledQuery: _Statement.Void2Void) @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_void2row(compiledQuery: _Statement.Void2Row): OutputRow._Scope + public suspend fun _executeQuery_void2row(compiledQuery: _Statement.Void2Row): OutputRow._Scope @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull): OutputRow._Scope? + public suspend fun _executeQuery_void2rowOrNull(compiledQuery: _Statement.Void2RowOrNull): OutputRow._Scope? @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull): OutputRow._Iterator + public suspend fun _executeQuery_void2table(compiledQuery: _Statement.Void2RowOrNull): OutputRow._Iterator @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_params2void(compiledQuery: _Statement.Void2Void): InputRow._Scope + public suspend fun _executeQuery_params2void(compiledQuery: _Statement.Void2Void): InputRow._Scope @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_params2row(compiledQuery: _Statement.Void2Row): InputRow._Scope> + public suspend fun _executeQuery_params2row(compiledQuery: _Statement.Void2Row): InputRow._Scope> @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull):InputRow._Scope?> + public suspend fun _executeQuery_params2rowOrNull(compiledQuery: _Statement.Void2RowOrNull): InputRow._Scope?> @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull): InputRow._Scope> + public suspend fun _executeQuery_params2table(compiledQuery: _Statement.Void2RowOrNull): InputRow._Scope> @Suppress("FunctionName") @LowLevelApi - public suspend fun _executeBatch_params2void(compiledQuery: _Statement.Void2Void): InputRow._Iterator + public suspend fun _executeBatch_params2void(compiledQuery: _Statement.Void2Void): InputRow._Iterator public suspend fun rollback() diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/QueryParam.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt similarity index 53% rename from src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/QueryParam.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt index 70ff3bb..34a4176 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/QueryParam.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/InputParam.kt @@ -3,9 +3,14 @@ package ru.landgrafhomyak.db.skeleton1.api.statement import kotlin.jvm.JvmName import ru.landgrafhomyak.db.skeleton1.api.DebugApi -public interface QueryParam { +public interface InputParam<@Suppress("unused") RT, oqUE : Any, RK : Any> { @DebugApi @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("getName") public val name: String + + @DebugApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getStatement") + public val statement: _Statement } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt new file mode 100644 index 0000000..94c838f --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/OutputColumn.kt @@ -0,0 +1,16 @@ +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> { + @DebugApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("name") + public val name: String + + @DebugApi + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getStatement") + public val statement: _Statement +} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableConstructor.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableConstructor.kt index da8fa3d..08f51a3 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableConstructor.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableConstructor.kt @@ -7,22 +7,22 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow -public interface TableConstructor { - public fun createTable(context: Scope): tUE +public interface TableConstructor { + public fun createTable(context: Scope): tUE - public interface Scope { - public fun column(name: String, type: DatabaseType.ImplementationsProvider, manualCreate: Boolean = false): Column - public fun columnWithBoundType(name: String, foreign: Column): Column + public interface Scope { + public fun column(name: String, type: DatabaseType.ImplementationsProvider, manualCreate: Boolean = false): Column + public fun columnWithBoundType(name: String, foreign: Column): Column - public fun tableScopedObject(name: String): TableScopedObject + public fun tableScopedObject(name: String): TableScopedObject - public fun addAlterStatement(stmt: _Statement.Void2Void<*, RUNTIME_KEY>) + public fun addAlterStatement(stmt: _Statement.Void2Void<*, RK>) public fun addAlterStatement(stmt: RawStatement.Void2Void.ImplementationsProvider<*>) @LowLevelApi - public fun _addAlterStatement(stmt: _Statement.Void2Void): InputRow._Scope + public fun _addAlterStatement(stmt: _Statement.Void2Void): InputRow._Scope @LowLevelApi - public fun _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope + public fun _addAlterStatement(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope } } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableUpgrade.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableUpgrade.kt index 84d31ca..e260bf0 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableUpgrade.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/table/TableUpgrade.kt @@ -6,34 +6,34 @@ import ru.landgrafhomyak.db.skeleton1.api.statement._Statement import ru.landgrafhomyak.db.skeleton1.api.runtime.InputRow -public interface TableUpgrade { - public fun upgradeTable(oldTable: toUE, context: Scope): tnUE +public interface TableUpgrade { + public fun upgradeTable(oldTable: toUE, context: Scope): tnUE - public interface Scope : TableConstructor.Scope { - public fun keepColumn(c: Column): Column - public fun renameColumn(c: Column, newName: String): Column - public fun removeColumn(c: Column<*, toUE, RUNTIME_KEY>) - public fun removeColumnAfterUpgrade(c: Column): Column + public interface Scope : TableConstructor.Scope { + public fun keepColumn(c: Column): Column + public fun renameColumn(c: Column, newName: String): Column + public fun removeColumn(c: Column<*, toUE, RK>) + public fun removeColumnAfterUpgrade(c: Column): Column - public fun keepColumnWithBoundType(c: Column): Column - public fun unbindAndKeepColumnWithBoundType(c: Column): Column - public fun renameColumnWithBoundType(c: Column, newName: String): Column - public fun unbindAndRenameColumnWithBoundType(c: Column, newName: String): Column - public fun removeColumnWithBoundType(c: Column<*, toUE, RUNTIME_KEY>) - public fun removeColumnWithBoundTypeAfterUpgrade(c: Column): Column + public fun keepColumnWithBoundType(c: Column): Column + public fun unbindAndKeepColumnWithBoundType(c: Column): Column + public fun renameColumnWithBoundType(c: Column, newName: String): Column + public fun unbindAndRenameColumnWithBoundType(c: Column, newName: String): Column + public fun removeColumnWithBoundType(c: Column<*, toUE, RK>) + public fun removeColumnWithBoundTypeAfterUpgrade(c: Column): Column - public fun keepTableScopedObject(obj: TableScopedObject): TableScopedObject - public fun renameTableScopedObject(obj: TableScopedObject, newName: String): TableScopedObject - public fun removeTableScopedObject(obj: TableScopedObject): TableScopedObject + public fun keepTableScopedObject(obj: TableScopedObject): TableScopedObject + public fun renameTableScopedObject(obj: TableScopedObject, newName: String): TableScopedObject + public fun removeTableScopedObject(obj: TableScopedObject): TableScopedObject - public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RUNTIME_KEY>) + public fun addAlterStatementAfterUpgrade(stmt: _Statement.Void2Void<*, RK>) public fun addAlterStatementAfterUpgrade(stmt: RawStatement.Void2Void.ImplementationsProvider<*>) @LowLevelApi - public fun _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void): InputRow._Scope + public fun _addAlterStatementAfterUpgrade(stmt: _Statement.Params2Void): InputRow._Scope @LowLevelApi - public fun _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope + public fun _addAlterStatementAfterUpgrade(stmt: RawStatement.Params2Void.ImplementationsProvider): InputRow._Scope } } \ No newline at end of file