diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/CreateModuleScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/CreateModuleScope.kt index 6240312..b7967f8 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/CreateModuleScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/CreateModuleScope.kt @@ -2,7 +2,7 @@ package ru.landgrafhomyak.db.serdha0.api.module import ru.landgrafhomyak.db.serdha0.api.table.Table import ru.landgrafhomyak.db.serdha0.api.queries._Query -import ru.landgrafhomyak.db.serdha0.api.runtime.SynchronizedDatabase +import ru.landgrafhomyak.db.serdha0.api.runtime.Executor import ru.landgrafhomyak.db.serdha0.api.runtime.Transaction import ru.landgrafhomyak.db.serdha0.api.table.TableConstructor @@ -27,10 +27,10 @@ public interface CreateModuleScope { * @param initializer Table-related descriptors initializer. * @return Table descriptor. */ - public fun createTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor, mutable: Boolean = true): Table + public fun createTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor): Table /** - * Creates a temporary table that exits only until connection to the database not [closed][SynchronizedDatabase._close]. + * Creates a temporary table that exits only until connection to the database not [closed][Executor._close]. * * On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed. * diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/Module.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/Module.kt index 478cf44..2b430c6 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/Module.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/Module.kt @@ -2,7 +2,7 @@ package ru.landgrafhomyak.db.serdha0.api.module import kotlin.jvm.JvmName import ru.landgrafhomyak.db.serdha0.api.queries._Query -import ru.landgrafhomyak.db.serdha0.api.runtime.SynchronizedDatabase +import ru.landgrafhomyak.db.serdha0.api.runtime.Executor /** * Descriptor of synchronized module. Used for schema manipulations. @@ -21,13 +21,11 @@ public interface Module { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("versionKey") public val versionKey: String - - /** - * Database in which this module was synchronized. For debugging. - */ +/* @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("ownerDatabase") - public val ownerDatabase: SynchronizedDatabase<*> + public val ownerDatabase: Executor +*/ public fun createQuery(c: _Query.Constructor): R diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/DatabaseConnection.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/DatabaseConnection.kt new file mode 100644 index 0000000..e0ad970 --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/DatabaseConnection.kt @@ -0,0 +1,24 @@ +package ru.landgrafhomyak.db.serdha0.api.runtime + +import ru.landgrafhomyak.db.serdha0.api.LowLevelApi +import ru.landgrafhomyak.db.serdha0.api.module.Module +import ru.landgrafhomyak.db.serdha0.api.module.ModuleTemplate + +@LowLevelApi +public interface DatabaseConnection { + @Suppress("FunctionName") + @LowLevelApi + public fun _createModuleTemplates(x: ModuleTemplate.VersionsInitializer): UE + + @Suppress("FunctionName") + @LowLevelApi + public fun _setRootModuleAndLockSchema(t: ModuleTemplate): Module + + @Suppress("FunctionName") + @LowLevelApi + public fun _finishSetup() + + @Suppress("PropertyName") + @LowLevelApi + public val _executor: Executor +} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/SynchronizedDatabase.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/Executor.kt similarity index 91% rename from src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/SynchronizedDatabase.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/Executor.kt index 19cfd59..f6f7578 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/SynchronizedDatabase.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/Executor.kt @@ -6,7 +6,7 @@ import ru.landgrafhomyak.db.serdha0.api.table.RowId import ru.landgrafhomyak.db.serdha0.api.table.Table import ru.landgrafhomyak.db.serdha0.api.queries._Query -public interface SynchronizedDatabase : Module { +public interface Executor { @Suppress("FunctionName") @LowLevelApi public suspend fun _startTransaction(): Transaction @@ -33,10 +33,6 @@ public interface SynchronizedDatabase : Module transaction(script: AtomicScript, context: C, args: A): R - @Suppress("FunctionName") - @LowLevelApi - public suspend fun _close() - public fun mapOfRowIds( table: Table, builder: (MutableMap, V>) -> Unit diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/UnsynchronizedDatabase.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/UnsynchronizedDatabase.kt deleted file mode 100644 index fc45d35..0000000 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/UnsynchronizedDatabase.kt +++ /dev/null @@ -1,10 +0,0 @@ -package ru.landgrafhomyak.db.serdha0.api.runtime - -import ru.landgrafhomyak.db.serdha0.api.module.ModuleTemplate - -@Suppress("SpellCheckingInspection") -public interface UnsynchronizedDatabase { - public fun addModuleTemplates(creator: ModuleTemplate.VersionsInitializer): UserExtension - - public suspend fun synchronize(conent: ModuleTemplate): SynchronizedDatabase -} \ No newline at end of file