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 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
} }
} }

View File

@ -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
}
} }
} }

View File

@ -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>

View File

@ -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<*>
> { > {
} }

View File

@ -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
}
} }
} }