Allowed queries creating at runtime throw module descriptor
This commit is contained in:
parent
bb25b2be72
commit
aec144d37c
@ -55,15 +55,11 @@ public interface CreateModuleScope {
|
|||||||
*/
|
*/
|
||||||
public fun <tUE : Any> createTransactionScopeTemporaryTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor<tUE>): Table<tUE, Nothing>
|
public fun <tUE : Any> createTransactionScopeTemporaryTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor<tUE>): Table<tUE, Nothing>
|
||||||
|
|
||||||
public val queries: _Query.Constructor.Scope
|
public fun <tUE : Any> createModuleConfiguringScopeTemporaryTable(namespace: Namespace = this.rootNs, name: String, initializer: TableConstructor<tUE>): Table<tUE, Nothing>
|
||||||
|
|
||||||
public val temporarySubqueries: _Query.Constructor.Scope
|
public fun <R : Any> createQuery(creator: _Query.Constructor<R>): R
|
||||||
|
|
||||||
public val moduleConfiguringTemporaryQueries: _Query.Constructor.Scope
|
public fun <R : Any> createModuleConfiguringScopeTemporaryQuery(creator: _Query.Constructor<R>): R
|
||||||
|
|
||||||
public fun <qUE : Any> createQuery(creator: _Query.Constructor<qUE>): qUE
|
|
||||||
|
|
||||||
public fun <qUE : Any> createModuleConfiguringTemporaryQuery(creator: _Query.Constructor<qUE>): qUE
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replaces [specified namespace][rootNs] with schema provided by [template].
|
* Replaces [specified namespace][rootNs] with schema provided by [template].
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ru.landgrafhomyak.db.serdha0.api.module
|
package ru.landgrafhomyak.db.serdha0.api.module
|
||||||
|
|
||||||
import kotlin.jvm.JvmName
|
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.SynchronizedDatabase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -13,6 +14,7 @@ public interface Module<mUE : Any> {
|
|||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("userExtension")
|
@get:JvmName("userExtension")
|
||||||
public val uExt: mUE
|
public val uExt: mUE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Version key internally used for automatically [upgrading modules][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate]. For debugging.
|
* Version key internally used for automatically [upgrading modules][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate]. For debugging.
|
||||||
*/
|
*/
|
||||||
@ -26,4 +28,7 @@ public interface Module<mUE : Any> {
|
|||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("ownerDatabase")
|
@get:JvmName("ownerDatabase")
|
||||||
public val ownerDatabase: SynchronizedDatabase<*>
|
public val ownerDatabase: SynchronizedDatabase<*>
|
||||||
|
|
||||||
|
|
||||||
|
public fun <R : Any> createQuery(c: _Query.Constructor<R>): R
|
||||||
}
|
}
|
@ -12,10 +12,12 @@ public interface _Query<qUE : Any> {
|
|||||||
public interface Params2Table<QueryUserExtension : Any> : _Query<QueryUserExtension>, _Selectable<QueryUserExtension>
|
public interface Params2Table<QueryUserExtension : Any> : _Query<QueryUserExtension>, _Selectable<QueryUserExtension>
|
||||||
public interface Void2Table<QueryUserExtension : Any> : _Query<QueryUserExtension>, _Selectable<QueryUserExtension>
|
public interface Void2Table<QueryUserExtension : Any> : _Query<QueryUserExtension>, _Selectable<QueryUserExtension>
|
||||||
|
|
||||||
public interface Constructor<qUE : Any> {
|
public interface Constructor<R> {
|
||||||
public fun createQuery(internalQueries: Scope, outQueries: Scope): qUE
|
public fun createQuery(internalQueries: Scope, outQueries: Scope): R
|
||||||
|
|
||||||
public interface _SelectsScope {
|
public interface _SelectsScope {
|
||||||
|
public operator fun <R> invoke(constructor: Constructor<R>): R
|
||||||
|
|
||||||
public fun <qUE : Any, sqUE : Any> select(constructor: SelectQuery.Simple.Constructor<qUE, sqUE>): SelectQuery.Simple<qUE>
|
public fun <qUE : Any, sqUE : Any> select(constructor: SelectQuery.Simple.Constructor<qUE, sqUE>): SelectQuery.Simple<qUE>
|
||||||
public fun <qUE : Any, lUE : Any, rUE : Any> selectWithJoin(constructor: SelectQuery.WithJoin.Constructor<qUE, lUE, rUE>): SelectQuery.WithJoin<qUE>
|
public fun <qUE : Any, lUE : Any, rUE : Any> selectWithJoin(constructor: SelectQuery.WithJoin.Constructor<qUE, lUE, rUE>): SelectQuery.WithJoin<qUE>
|
||||||
public fun <qUE : Any, sqUE : Any> selectReducing(constructor: SelectQuery.Reducing.Constructor<qUE, sqUE>): SelectQuery.Reducing<qUE>
|
public fun <qUE : Any, sqUE : Any> selectReducing(constructor: SelectQuery.Reducing.Constructor<qUE, sqUE>): SelectQuery.Reducing<qUE>
|
||||||
|
Loading…
Reference in New Issue
Block a user