Now a dialect key provides types of constructors instead of scopes in those constructors
This commit is contained in:
parent
472b1c0bcd
commit
d777d124ab
@ -1,60 +1,29 @@
|
|||||||
package ru.landgrafhomyak.db.sql_skeleton_0.api.misc
|
package ru.landgrafhomyak.db.sql_skeleton_0.api.misc
|
||||||
|
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.raw.DialectKey
|
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.raw.DialectResolver
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.raw.DialectResolver
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.table.RowId
|
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.table.Table
|
|
||||||
|
|
||||||
public interface DatabaseType<
|
public interface DatabaseType<RUNTIME_TYPE : Any?> {
|
||||||
RUNTIME_TYPE : Any?,
|
public val nullable: DatabaseType<RUNTIME_TYPE?>
|
||||||
in DESCRIPTOR_SCOPE : Any,
|
|
||||||
out NATIVE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public enum class RowIdSize {
|
|
||||||
VERY_SMALL,
|
|
||||||
SMALL,
|
|
||||||
NORMAL
|
|
||||||
}
|
|
||||||
|
|
||||||
public fun _nativeDescriptor(scope: DESCRIPTOR_SCOPE): NATIVE_DESCRIPTOR
|
|
||||||
|
|
||||||
public fun _get(scope: GETTER_SCOPE, columnIndex: Int): RUNTIME_TYPE
|
|
||||||
|
|
||||||
public fun _set(scope: SETTER_SCOPE, paramIndex: Int, value: RUNTIME_TYPE)
|
|
||||||
|
|
||||||
public val nullable: DatabaseType<RUNTIME_TYPE?, DESCRIPTOR_SCOPE, NATIVE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
|
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("getName")
|
@get:JvmName("getName")
|
||||||
public val name: String
|
public val name: String
|
||||||
|
|
||||||
|
|
||||||
public interface DefaultTypes<
|
public interface DefaultTypes {
|
||||||
in DESCRIPTOR_SCOPE : Any,
|
|
||||||
out NATIVE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
|
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
|
||||||
@get:JvmName("BOOLEAN")
|
@get:JvmName("BOOLEAN")
|
||||||
public val BOOLEAN: DatabaseType<Boolean, DESCRIPTOR_SCOPE, NATIVE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
public val BOOLEAN: DatabaseType<Boolean>
|
||||||
|
|
||||||
@OptIn(ExperimentalUnsignedTypes::class)
|
@OptIn(ExperimentalUnsignedTypes::class)
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
|
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
|
||||||
@get:JvmName("BINARY_DATA")
|
@get:JvmName("BINARY_DATA")
|
||||||
public val BINARY_DATA: DatabaseType<UByteArray, DESCRIPTOR_SCOPE, NATIVE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
public val BINARY_DATA: DatabaseType<UByteArray>
|
||||||
|
|
||||||
@OptIn(ExperimentalUnsignedTypes::class)
|
@OptIn(ExperimentalUnsignedTypes::class)
|
||||||
public fun BINARY_DATA(size: UInt, isFixedSize: Boolean): DatabaseType<UByteArray, DESCRIPTOR_SCOPE, NATIVE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
public fun BINARY_DATA(size: UInt, isFixedSize: Boolean): DatabaseType<UByteArray>
|
||||||
|
|
||||||
public fun <RUNTIME_TYPE, DATABASE_TYPE : DatabaseType<RUNTIME_TYPE, @UnsafeVariance DESCRIPTOR_SCOPE, @UnsafeVariance NATIVE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE>> custom(
|
public fun <RUNTIME_TYPE> custom(resolver: DialectResolver.Type<RUNTIME_TYPE>): DatabaseType<RUNTIME_TYPE>
|
||||||
resolver: DialectResolver<
|
|
||||||
DialectKey<*, @UnsafeVariance DESCRIPTOR_SCOPE, @UnsafeVariance NATIVE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE>,
|
|
||||||
DATABASE_TYPE
|
|
||||||
>
|
|
||||||
): DATABASE_TYPE
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,195 +1,53 @@
|
|||||||
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
|
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
|
||||||
|
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.Column
|
public interface RawStatement<qUE : Any?> : _Statement<qUE> {
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType
|
public override val uExt: qUE
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.QueryParam
|
|
||||||
|
|
||||||
public interface RawStatement<out qUE : Any> {
|
public interface Void2Void<qUE : Any?> : RawStatement<qUE>, _Statement.Void2Void<qUE> {
|
||||||
public val uExt: qUE
|
override val uExt: qUE
|
||||||
|
|
||||||
public interface _InputConstructorScope<
|
public interface Constructor<qUE: Any?>
|
||||||
QUERY_USER_EXTENSION : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public val types: DatabaseType.DefaultTypes<TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
public fun <RT, DT : DatabaseType<RT, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE>> inputParam(type: DT, paramIndex: UInt, vararg duplicateIndices: UInt): QueryParam<RT, DT, QUERY_USER_EXTENSION>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface _OutputConstructorScope<
|
public interface Void2Row<qUE : Any> : RawStatement<qUE>, _Statement.Void2Row<qUE> {
|
||||||
QUERY_USER_EXTENSION : Any,
|
override val uExt: qUE
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
public interface Constructor<qUE : Any>
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public val types: DatabaseType.DefaultTypes<TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
public fun <RT, DT : DatabaseType<RT, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE>> outputColumn(type: DT, columnIndex: UInt): Column<RT, DT, QUERY_USER_EXTENSION>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface _IOConstructorScope<
|
public interface Void2RowOrNull<qUE : Any> : RawStatement<qUE>, _Statement.Void2RowOrNull<qUE> {
|
||||||
QUERY_USER_EXTENSION : Any,
|
override val uExt: qUE
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
public interface Constructor<qUE : Any>
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> : _InputConstructorScope<QUERY_USER_EXTENSION, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>,
|
|
||||||
_OutputConstructorScope<QUERY_USER_EXTENSION, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE> {
|
|
||||||
public override val types: DatabaseType.DefaultTypes<TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface Void2Table<qUE : Any> : RawStatement<qUE>, _Statement.Void2Table<qUE> {
|
||||||
|
override val uExt: qUE
|
||||||
|
|
||||||
public interface Void2Void : _Statement.Void2Void {
|
public interface Constructor<qUE : Any>
|
||||||
public interface Constructor<in STATEMENT_SCOPE : Any?, out RAW_STATEMENT : Any> {
|
|
||||||
public fun createRawStatement_void2void(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Void2Row<QUERY_USER_EXTENSION : Any> : _Statement.Void2Row<QUERY_USER_EXTENSION> {
|
public interface Params2Void<qUE : Any> : RawStatement<qUE>, _Statement.Params2Void<qUE> {
|
||||||
override val uExt: QUERY_USER_EXTENSION
|
override val uExt: qUE
|
||||||
|
|
||||||
public interface Constructor<
|
public interface Constructor<qUE : Any>
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_void2row(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_void2row(
|
|
||||||
scope: _OutputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Void2RowOrNull<QUERY_USER_EXTENSION : Any> : _Statement.Void2RowOrNull<QUERY_USER_EXTENSION> {
|
public interface Params2Row<qUE : Any> : RawStatement<qUE>, _Statement.Params2Row<qUE> {
|
||||||
override val uExt: QUERY_USER_EXTENSION
|
override val uExt: qUE
|
||||||
|
|
||||||
public interface Constructor<
|
public interface Constructor<qUE : Any>
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_void2rowOrNull(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_void2rowOrNull(
|
|
||||||
scope: _OutputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Void2Table<QUERY_USER_EXTENSION : Any> : _Statement.Void2Table<QUERY_USER_EXTENSION> {
|
public interface Params2RowOrNull<qUE : Any> : RawStatement<qUE>, _Statement.Params2RowOrNull<qUE> {
|
||||||
override val uExt: QUERY_USER_EXTENSION
|
override val uExt: qUE
|
||||||
|
|
||||||
public interface Constructor<
|
public interface Constructor<qUE : Any>
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_void2table(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_void2table(
|
|
||||||
scope: _OutputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Params2Void<QUERY_USER_EXTENSION : Any> : _Statement.Params2Void<QUERY_USER_EXTENSION> {
|
public interface Params2Table<qUE : Any> : RawStatement<qUE>, _Statement.Params2Table<qUE> {
|
||||||
public interface Constructor<
|
override val uExt: qUE
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_params2void(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_params2void(
|
public interface Constructor<qUE : Any>
|
||||||
scope: _InputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Params2Row<QUERY_USER_EXTENSION : Any> : _Statement.Params2Row<QUERY_USER_EXTENSION> {
|
|
||||||
public interface Constructor<
|
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_params2row(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_params2row(
|
|
||||||
scope: _IOConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Params2RowOrNull<QUERY_USER_EXTENSION : Any> : _Statement.Params2RowOrNull<QUERY_USER_EXTENSION> {
|
|
||||||
public interface Constructor<
|
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_params2rowOrNull(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_params2rowOrNull(
|
|
||||||
scope: _OutputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Params2Table<QUERY_USER_EXTENSION : Any> : _Statement.Params2Table<QUERY_USER_EXTENSION> {
|
|
||||||
public interface Constructor<
|
|
||||||
out QUERY_USER_EXTENSION : Any,
|
|
||||||
in STATEMENT_SCOPE : Any?,
|
|
||||||
out RAW_STATEMENT : Any,
|
|
||||||
in TYPE_SCOPE : Any?,
|
|
||||||
out TYPE_DESCRIPTOR : Any,
|
|
||||||
in GETTER_SCOPE : Any,
|
|
||||||
in SETTER_SCOPE : Any
|
|
||||||
> {
|
|
||||||
public fun createRawStatement_params2table(scope: STATEMENT_SCOPE): RAW_STATEMENT
|
|
||||||
|
|
||||||
public fun linkRawStatement_params2table(
|
|
||||||
scope: _OutputConstructorScope<
|
|
||||||
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
|
|
||||||
>
|
|
||||||
): QUERY_USER_EXTENSION
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,6 @@
|
|||||||
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
|
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
|
||||||
|
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc._Selectable
|
|
||||||
|
|
||||||
|
|
||||||
@Suppress("ClassName")
|
@Suppress("ClassName")
|
||||||
@ -10,11 +9,7 @@ public interface _Statement<qUE : Any?> {
|
|||||||
@get:JvmName("uExt")
|
@get:JvmName("uExt")
|
||||||
public val uExt: qUE
|
public val uExt: qUE
|
||||||
|
|
||||||
public interface Void2Void : _Statement<Nothing?> {
|
public interface Void2Void<qUE : Any?> : _Statement<qUE>
|
||||||
override val uExt: Nothing?
|
|
||||||
get() = null
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Void2Row<qUE : Any> : _Statement<qUE>
|
public interface Void2Row<qUE : Any> : _Statement<qUE>
|
||||||
public interface Void2RowOrNull<qUE : Any> : _Statement<qUE>
|
public interface Void2RowOrNull<qUE : Any> : _Statement<qUE>
|
||||||
public interface Void2Table<qUE : Any> : _Statement<qUE>
|
public interface Void2Table<qUE : Any> : _Statement<qUE>
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
package ru.landgrafhomyak.db.sql_skeleton_0.api.raw
|
package ru.landgrafhomyak.db.sql_skeleton_0.api.raw
|
||||||
|
|
||||||
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType
|
||||||
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.queries.RawStatement
|
||||||
|
|
||||||
public interface DialectKey<
|
public interface DialectKey<
|
||||||
STATEMENT_SCOPE : Any?,
|
DATABASE_TYPE : DatabaseType<*>,
|
||||||
RAW_STATEMENT : Any,
|
STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>,
|
||||||
TYPE_SCOPE : Any?,
|
STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>,
|
||||||
TYPE_DESCRIPTOR : Any,
|
STATEMENT_CONSTRUCTOR__VOID_2_ROW_OR_NULL : RawStatement.Void2RowOrNull.Constructor<*>,
|
||||||
GETTER_SCOPE : Any,
|
STATEMENT_CONSTRUCTOR__VOID_2_TABLE : RawStatement.Void2Table.Constructor<*>,
|
||||||
SETTER_SCOPE : Any
|
STATEMENT_CONSTRUCTOR__PARAMS_2_VOID : RawStatement.Params2Void.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR__PARAMS_2_ROW : RawStatement.Params2Row.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR__PARAMS_2_ROW_OR_NULL : RawStatement.Params2RowOrNull.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR__PARAMS_2_TABLE : RawStatement.Params2Table.Constructor<*>
|
||||||
> {
|
> {
|
||||||
}
|
}
|
@ -1,115 +1,122 @@
|
|||||||
package ru.landgrafhomyak.db.sql_skeleton_0.api.raw
|
package ru.landgrafhomyak.db.sql_skeleton_0.api.raw
|
||||||
|
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType as _DatabaseType
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType
|
||||||
import ru.landgrafhomyak.db.sql_skeleton_0.api.queries.RawStatement as _RawQuery
|
import ru.landgrafhomyak.db.sql_skeleton_0.api.queries.RawStatement
|
||||||
|
|
||||||
|
|
||||||
public interface DialectResolver {
|
public interface DialectResolver {
|
||||||
public interface DatabaseType<RUNTIME_TYPE> {
|
public fun interface Type<RUNTIME_TYPE> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_databaseType(selector: Selector<RUNTIME_TYPE>)
|
||||||
TYPE_SCOPE : Any?,
|
|
||||||
TYPE_DESCRIPTOR : Any,
|
public interface Selector<RUNTIME_TYPE> {
|
||||||
GETTER_SCOPE : Any,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
SETTER_SCOPE : Any
|
public fun <DATABASE_TYPE, DATABASE_TYPE_UNBOUND> bind(
|
||||||
> resolveDatabaseTypeByDialect(
|
key: DialectKey<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
|
||||||
key: DialectKey<*, *, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
) where DATABASE_TYPE_UNBOUND : DatabaseType<*>,
|
||||||
): _DatabaseType<RUNTIME_TYPE, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
DATABASE_TYPE : DatabaseType<RUNTIME_TYPE>,
|
||||||
|
DATABASE_TYPE : DATABASE_TYPE_UNBOUND
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Void2Void {
|
public fun interface Statement_Void2Void<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_void2void(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any
|
public interface Selector<USER_EXTENSION> {
|
||||||
> resolveDatabaseTypeByDialect(
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, *, *, *, *>
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
): _RawQuery.Void2Void.Constructor<STATEMENT_SCOPE, RAW_STATEMENT>
|
key: DialectKey<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Void.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR : RawStatement.Void2Void.Constructor<USER_EXTENSION>,
|
||||||
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Void2Row<out QUERY_USER_EXTENSION : Any> {
|
public fun interface Statement_Void2Row<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_void2row(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
public interface Selector<USER_EXTENSION> {
|
||||||
TYPE_SCOPE : Any?,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
TYPE_DESCRIPTOR : Any,
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
GETTER_SCOPE : Any,
|
key: DialectKey<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
SETTER_SCOPE : Any
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Row.Constructor<*>,
|
||||||
> resolveDatabaseTypeByDialect(
|
STATEMENT_CONSTRUCTOR : RawStatement.Void2Row.Constructor<USER_EXTENSION>,
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
): _RawQuery.Void2Row.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Void2RowOrNull<out QUERY_USER_EXTENSION : Any> {
|
public fun interface Statement_Void2RowOrNull<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_void2rowOrNull(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
public interface Selector<USER_EXTENSION> {
|
||||||
TYPE_SCOPE : Any?,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
TYPE_DESCRIPTOR : Any,
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
GETTER_SCOPE : Any,
|
key: DialectKey<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
SETTER_SCOPE : Any
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2RowOrNull.Constructor<*>,
|
||||||
> resolveDatabaseTypeByDialect(
|
STATEMENT_CONSTRUCTOR : RawStatement.Void2RowOrNull.Constructor<USER_EXTENSION>,
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
): _RawQuery.Void2RowOrNull.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
}
|
||||||
|
}
|
||||||
|
public fun interface Statement_Void2Table<USER_EXTENSION> {
|
||||||
|
public fun resolveByDialect_statement_void2table(selector: Selector<USER_EXTENSION>)
|
||||||
|
|
||||||
|
public interface Selector<USER_EXTENSION> {
|
||||||
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
|
key: DialectKey<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Table.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR : RawStatement.Void2Table.Constructor<USER_EXTENSION>,
|
||||||
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Void2Table<out QUERY_USER_EXTENSION : Any> {
|
public fun interface Statement_Params2Void<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_params2void(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
public interface Selector<USER_EXTENSION> {
|
||||||
TYPE_SCOPE : Any?,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
TYPE_DESCRIPTOR : Any,
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
GETTER_SCOPE : Any,
|
key: DialectKey<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
SETTER_SCOPE : Any
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Void.Constructor<*>,
|
||||||
> resolveDatabaseTypeByDialect(
|
STATEMENT_CONSTRUCTOR : RawStatement.Params2Void.Constructor<USER_EXTENSION>,
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
): _RawQuery.Void2Table.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
}
|
||||||
}
|
|
||||||
public interface RawQuery_Params2Void<out QUERY_USER_EXTENSION : Any> {
|
|
||||||
public suspend fun <
|
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
|
||||||
TYPE_SCOPE : Any?,
|
|
||||||
TYPE_DESCRIPTOR : Any,
|
|
||||||
GETTER_SCOPE : Any,
|
|
||||||
SETTER_SCOPE : Any
|
|
||||||
> resolveDatabaseTypeByDialect(
|
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
): _RawQuery.Params2Void.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Params2Row<out QUERY_USER_EXTENSION : Any> {
|
public fun interface Statement_Params2Row<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_params2row(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
public interface Selector<USER_EXTENSION> {
|
||||||
TYPE_SCOPE : Any?,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
TYPE_DESCRIPTOR : Any,
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
GETTER_SCOPE : Any,
|
key: DialectKey<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
SETTER_SCOPE : Any
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Row.Constructor<*>,
|
||||||
> resolveDatabaseTypeByDialect(
|
STATEMENT_CONSTRUCTOR : RawStatement.Params2Row.Constructor<USER_EXTENSION>,
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
): _RawQuery.Params2Row.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
}
|
||||||
}
|
|
||||||
public interface RawQuery_Params2RowOrNull<out QUERY_USER_EXTENSION : Any> {
|
|
||||||
public suspend fun <
|
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
|
||||||
TYPE_SCOPE : Any?,
|
|
||||||
TYPE_DESCRIPTOR : Any,
|
|
||||||
GETTER_SCOPE : Any,
|
|
||||||
SETTER_SCOPE : Any
|
|
||||||
> resolveDatabaseTypeByDialect(
|
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
): _RawQuery.Params2RowOrNull.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface RawQuery_Params2Table<out QUERY_USER_EXTENSION : Any> {
|
public fun interface Statement_Params2RowOrNull<USER_EXTENSION> {
|
||||||
public suspend fun <
|
public fun resolveByDialect_statement_params2rowOrNull(selector: Selector<USER_EXTENSION>)
|
||||||
STATEMENT_SCOPE : Any?,
|
|
||||||
RAW_STATEMENT : Any,
|
public interface Selector<USER_EXTENSION> {
|
||||||
TYPE_SCOPE : Any?,
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
TYPE_DESCRIPTOR : Any,
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
GETTER_SCOPE : Any,
|
key: DialectKey<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
SETTER_SCOPE : Any
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2RowOrNull.Constructor<*>,
|
||||||
> resolveDatabaseTypeByDialect(
|
STATEMENT_CONSTRUCTOR : RawStatement.Params2RowOrNull.Constructor<USER_EXTENSION>,
|
||||||
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
): _RawQuery.Params2Table.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
|
}
|
||||||
|
}
|
||||||
|
public fun interface Statement_Params2Table<USER_EXTENSION> {
|
||||||
|
public fun resolveByDialect_statement_params2table(selector: Selector<USER_EXTENSION>)
|
||||||
|
|
||||||
|
public interface Selector<USER_EXTENSION> {
|
||||||
|
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
|
||||||
|
public fun <STATEMENT_CONSTRUCTOR, STATEMENT_CONSTRUCTOR_UNBOUND> bind(
|
||||||
|
key: DialectKey<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND>, constructor: STATEMENT_CONSTRUCTOR
|
||||||
|
) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Table.Constructor<*>,
|
||||||
|
STATEMENT_CONSTRUCTOR : RawStatement.Params2Table.Constructor<USER_EXTENSION>,
|
||||||
|
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user