Now a dialect key provides types of constructors instead of scopes in those constructors

This commit is contained in:
Andrew Golovashevich 2025-04-20 18:07:00 +03:00
parent 472b1c0bcd
commit d777d124ab
5 changed files with 152 additions and 317 deletions

View File

@ -1,60 +1,29 @@
package ru.landgrafhomyak.db.sql_skeleton_0.api.misc
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.table.RowId
import ru.landgrafhomyak.db.sql_skeleton_0.api.table.Table
public interface DatabaseType<
RUNTIME_TYPE : Any?,
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>
public interface DatabaseType<RUNTIME_TYPE : Any?> {
public val nullable: DatabaseType<RUNTIME_TYPE?>
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getName")
public val name: String
public interface DefaultTypes<
in DESCRIPTOR_SCOPE : Any,
out NATIVE_DESCRIPTOR : Any,
in GETTER_SCOPE : Any,
in SETTER_SCOPE : Any
> {
public interface DefaultTypes {
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
@get:JvmName("BOOLEAN")
public val BOOLEAN: DatabaseType<Boolean, DESCRIPTOR_SCOPE, NATIVE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public val BOOLEAN: DatabaseType<Boolean>
@OptIn(ExperimentalUnsignedTypes::class)
@Suppress("INAPPLICABLE_JVM_NAME", "PropertyName")
@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)
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(
resolver: DialectResolver<
DialectKey<*, @UnsafeVariance DESCRIPTOR_SCOPE, @UnsafeVariance NATIVE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE>,
DATABASE_TYPE
>
): DATABASE_TYPE
public fun <RUNTIME_TYPE> custom(resolver: DialectResolver.Type<RUNTIME_TYPE>): DatabaseType<RUNTIME_TYPE>
}
}

View File

@ -1,195 +1,53 @@
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.Column
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.QueryParam
public interface RawStatement<qUE : Any?> : _Statement<qUE> {
public override val uExt: qUE
public interface RawStatement<out qUE : Any> {
public val uExt: qUE
public interface Void2Void<qUE : Any?> : RawStatement<qUE>, _Statement.Void2Void<qUE> {
override val uExt: qUE
public interface _InputConstructorScope<
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 Constructor<qUE: Any?>
}
public interface _OutputConstructorScope<
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>> outputColumn(type: DT, columnIndex: UInt): Column<RT, DT, QUERY_USER_EXTENSION>
public interface Void2Row<qUE : Any> : RawStatement<qUE>, _Statement.Void2Row<qUE> {
override val uExt: qUE
public interface Constructor<qUE : Any>
}
public interface _IOConstructorScope<
QUERY_USER_EXTENSION : Any,
in TYPE_SCOPE : Any?,
out TYPE_DESCRIPTOR : 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 Void2RowOrNull<qUE : Any> : RawStatement<qUE>, _Statement.Void2RowOrNull<qUE> {
override val uExt: qUE
public interface Constructor<qUE : Any>
}
public interface Void2Table<qUE : Any> : RawStatement<qUE>, _Statement.Void2Table<qUE> {
override val uExt: qUE
public interface Void2Void : _Statement.Void2Void {
public interface Constructor<in STATEMENT_SCOPE : Any?, out RAW_STATEMENT : Any> {
public fun createRawStatement_void2void(scope: STATEMENT_SCOPE): RAW_STATEMENT
}
public interface Constructor<qUE : Any>
}
public interface Void2Row<QUERY_USER_EXTENSION : Any> : _Statement.Void2Row<QUERY_USER_EXTENSION> {
override val uExt: QUERY_USER_EXTENSION
public interface Params2Void<qUE : Any> : RawStatement<qUE>, _Statement.Params2Void<qUE> {
override val uExt: qUE
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_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 Constructor<qUE : Any>
}
public interface Void2RowOrNull<QUERY_USER_EXTENSION : Any> : _Statement.Void2RowOrNull<QUERY_USER_EXTENSION> {
override val uExt: QUERY_USER_EXTENSION
public interface Params2Row<qUE : Any> : RawStatement<qUE>, _Statement.Params2Row<qUE> {
override val uExt: qUE
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_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 Constructor<qUE : Any>
}
public interface Void2Table<QUERY_USER_EXTENSION : Any> : _Statement.Void2Table<QUERY_USER_EXTENSION> {
override val uExt: QUERY_USER_EXTENSION
public interface Params2RowOrNull<qUE : Any> : RawStatement<qUE>, _Statement.Params2RowOrNull<qUE> {
override val uExt: qUE
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_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 Constructor<qUE : Any>
}
public interface Params2Void<QUERY_USER_EXTENSION : Any> : _Statement.Params2Void<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_params2void(scope: STATEMENT_SCOPE): RAW_STATEMENT
public interface Params2Table<qUE : Any> : RawStatement<qUE>, _Statement.Params2Table<qUE> {
override val uExt: qUE
public fun linkRawStatement_params2void(
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
}
public interface Constructor<qUE : Any>
}
}

View File

@ -1,7 +1,6 @@
package ru.landgrafhomyak.db.sql_skeleton_0.api.queries
import kotlin.jvm.JvmName
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc._Selectable
@Suppress("ClassName")
@ -10,11 +9,7 @@ public interface _Statement<qUE : Any?> {
@get:JvmName("uExt")
public val uExt: qUE
public interface Void2Void : _Statement<Nothing?> {
override val uExt: Nothing?
get() = null
}
public interface Void2Void<qUE : Any?> : _Statement<qUE>
public interface Void2Row<qUE : Any> : _Statement<qUE>
public interface Void2RowOrNull<qUE : Any> : _Statement<qUE>
public interface Void2Table<qUE : Any> : _Statement<qUE>

View File

@ -1,11 +1,17 @@
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<
STATEMENT_SCOPE : Any?,
RAW_STATEMENT : Any,
TYPE_SCOPE : Any?,
TYPE_DESCRIPTOR : Any,
GETTER_SCOPE : Any,
SETTER_SCOPE : Any
DATABASE_TYPE : DatabaseType<*>,
STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_ROW_OR_NULL : RawStatement.Void2RowOrNull.Constructor<*>,
STATEMENT_CONSTRUCTOR__VOID_2_TABLE : RawStatement.Void2Table.Constructor<*>,
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<*>
> {
}

View File

@ -1,115 +1,122 @@
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.queries.RawStatement as _RawQuery
import ru.landgrafhomyak.db.sql_skeleton_0.api.misc.DatabaseType
import ru.landgrafhomyak.db.sql_skeleton_0.api.queries.RawStatement
public interface DialectResolver {
public interface DatabaseType<RUNTIME_TYPE> {
public suspend fun <
TYPE_SCOPE : Any?,
TYPE_DESCRIPTOR : Any,
GETTER_SCOPE : Any,
SETTER_SCOPE : Any
> resolveDatabaseTypeByDialect(
key: DialectKey<*, *, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
): _DatabaseType<RUNTIME_TYPE, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Type<RUNTIME_TYPE> {
public fun resolveByDialect_databaseType(selector: Selector<RUNTIME_TYPE>)
public interface Selector<RUNTIME_TYPE> {
@Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER")
public fun <DATABASE_TYPE, DATABASE_TYPE_UNBOUND> bind(
key: DialectKey<DATABASE_TYPE_UNBOUND, *, *, *, *, *, *, *, *>, type: DATABASE_TYPE
) where DATABASE_TYPE_UNBOUND : DatabaseType<*>,
DATABASE_TYPE : DatabaseType<RUNTIME_TYPE>,
DATABASE_TYPE : DATABASE_TYPE_UNBOUND
}
}
public interface RawQuery_Void2Void {
public suspend fun <
STATEMENT_SCOPE : Any?,
RAW_STATEMENT : Any
> resolveDatabaseTypeByDialect(
key: DialectKey<STATEMENT_SCOPE, RAW_STATEMENT, *, *, *, *>
): _RawQuery.Void2Void.Constructor<STATEMENT_SCOPE, RAW_STATEMENT>
public fun interface Statement_Void2Void<USER_EXTENSION> {
public fun resolveByDialect_statement_void2void(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.Void2Void.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Void2Void.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
}
public interface RawQuery_Void2Row<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.Void2Row.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Statement_Void2Row<USER_EXTENSION> {
public fun resolveByDialect_statement_void2row(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.Void2Row.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Void2Row.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
}
public interface RawQuery_Void2RowOrNull<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.Void2RowOrNull.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Statement_Void2RowOrNull<USER_EXTENSION> {
public fun resolveByDialect_statement_void2rowOrNull(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.Void2RowOrNull.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Void2RowOrNull.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
}
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 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.Void2Table.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Statement_Params2Void<USER_EXTENSION> {
public fun resolveByDialect_statement_params2void(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.Params2Void.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Params2Void.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
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 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.Params2Row.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Statement_Params2Row<USER_EXTENSION> {
public fun resolveByDialect_statement_params2row(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.Params2Row.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Params2Row.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
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 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.Params2Table.Constructor<QUERY_USER_EXTENSION, STATEMENT_SCOPE, RAW_STATEMENT, TYPE_SCOPE, TYPE_DESCRIPTOR, GETTER_SCOPE, SETTER_SCOPE>
public fun interface Statement_Params2RowOrNull<USER_EXTENSION> {
public fun resolveByDialect_statement_params2rowOrNull(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.Params2RowOrNull.Constructor<*>,
STATEMENT_CONSTRUCTOR : RawStatement.Params2RowOrNull.Constructor<USER_EXTENSION>,
STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND
}
}
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
}
}
}