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 8ab7df6..107cf99 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 @@ -55,15 +55,11 @@ public interface CreateModuleScope { */ public fun createTransactionScopeTemporaryTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor): Table - public val queries: _Query.Constructor.Scope + public fun createModuleConfiguringScopeTemporaryTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor): Table - public val temporarySubqueries: _Query.Constructor.Scope + public fun createQuery(creator: _Query.Constructor): R - public val moduleConfiguringTemporaryQueries: _Query.Constructor.Scope - - public fun createQuery(creator: _Query.Constructor): qUE - - public fun createModuleConfiguringTemporaryQuery(creator: _Query.Constructor): qUE + public fun createModuleConfiguringScopeTemporaryQuery(creator: _Query.Constructor): R /** * Replaces [specified namespace][rootNs] with schema provided by [template]. 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 9d32406..478cf44 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 @@ -1,6 +1,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 /** @@ -13,6 +14,7 @@ public interface Module { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("userExtension") public val uExt: mUE + /** * Version key internally used for automatically [upgrading modules][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate]. For debugging. */ @@ -26,4 +28,7 @@ public interface Module { @Suppress("INAPPLICABLE_JVM_NAME") @get:JvmName("ownerDatabase") public val ownerDatabase: SynchronizedDatabase<*> + + + public fun createQuery(c: _Query.Constructor): R } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt index 7e93c1c..154bf65 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt @@ -12,10 +12,12 @@ public interface _Query { public interface Params2Table : _Query, _Selectable public interface Void2Table : _Query, _Selectable - public interface Constructor { - public fun createQuery(internalQueries: Scope, outQueries: Scope): qUE + public interface Constructor { + public fun createQuery(internalQueries: Scope, outQueries: Scope): R public interface _SelectsScope { + public operator fun invoke(constructor: Constructor): R + public fun select(constructor: SelectQuery.Simple.Constructor): SelectQuery.Simple public fun selectWithJoin(constructor: SelectQuery.WithJoin.Constructor): SelectQuery.WithJoin public fun selectReducing(constructor: SelectQuery.Reducing.Constructor): SelectQuery.Reducing