diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/misc/DatabaseType.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/misc/DatabaseType.kt index 751a3d1..3cbd32e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/misc/DatabaseType.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/misc/DatabaseType.kt @@ -1,4 +1,19 @@ package ru.landgrafhomyak.db.sql_skeleton_0.api.misc +import ru.landgrafhomyak.db.sql_skeleton_0.api.raw.DriverType -public interface DatabaseType + +public interface DatabaseType<@Suppress("unused") RUNTIME_TYPE : Any?> { + public fun interface ImplementationsProvider { + public fun provideStatementImplementations_databaseType(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + key: DriverType, type: DATABASE_TYPE + ) where DATABASE_TYPE_UNBOUND : DatabaseType<*>, + DATABASE_TYPE : DatabaseType, + DATABASE_TYPE : DATABASE_TYPE_UNBOUND + } + } +} diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/RawStatement.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/RawStatement.kt index ef55b3f..3d47684 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/RawStatement.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/RawStatement.kt @@ -1,53 +1,168 @@ package ru.landgrafhomyak.db.sql_skeleton_0.api.queries -public interface RawStatement : _Statement { +import ru.landgrafhomyak.db.sql_skeleton_0.api.raw.DriverType + +public interface RawStatement : _Statement { public override val uExt: qUE - public interface Void2Void : RawStatement, _Statement.Void2Void { + public interface Void2Void : RawStatement, _Statement.Void2Void { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any?> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_void2void(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Void2Row : RawStatement, _Statement.Void2Row { + public interface Void2Row : RawStatement, _Statement.Void2Row { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_void2row(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Void2RowOrNull : RawStatement, _Statement.Void2RowOrNull { + public interface Void2RowOrNull : RawStatement, _Statement.Void2RowOrNull { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_void2rowOrNull(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } + } - public interface Void2Table : RawStatement, _Statement.Void2Table { + public interface Void2Table : RawStatement, _Statement.Void2Table { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_void2table(selector: Selector) + + public interface Selector { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Params2Void : RawStatement, _Statement.Params2Void { + public interface Params2Void : RawStatement, _Statement.Params2Void { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_params2void(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Params2Row : RawStatement, _Statement.Params2Row { + public interface Params2Row : RawStatement, _Statement.Params2Row { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_params2row(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Params2RowOrNull : RawStatement, _Statement.Params2RowOrNull { + public interface Params2RowOrNull : RawStatement, _Statement.Params2RowOrNull { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_params2rowOrNull(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } - public interface Params2Table : RawStatement, _Statement.Params2Table { + public interface Params2Table : RawStatement, _Statement.Params2Table { override val uExt: qUE - public interface Constructor + public interface Constructor<@Suppress("unused") qUE : Any> + + public interface ImplementationsProvider { + public fun provideStatementImplementations_params2table(scope: Scope) + + public interface Scope { + @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") + public fun bind( + driverType: DriverType<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND>, + constructor: STATEMENT_CONSTRUCTOR + ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, + STATEMENT_CONSTRUCTOR : Constructor, + STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND + } + } } } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/_Statement.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/_Statement.kt index 4433332..48c3786 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/_Statement.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/queries/_Statement.kt @@ -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.raw.DialectKey @Suppress("ClassName") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectResolver.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectResolver.kt deleted file mode 100644 index 89aa80e..0000000 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectResolver.kt +++ /dev/null @@ -1,124 +0,0 @@ -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 DialectResolver { - public fun interface Type : DialectResolver { - public fun resolveByDialect_databaseType(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, type: DATABASE_TYPE - ) where DATABASE_TYPE_UNBOUND : DatabaseType<*>, - DATABASE_TYPE : DatabaseType, - DATABASE_TYPE : DATABASE_TYPE_UNBOUND - } - } - - public fun interface Statement_Void2Void { - public fun resolveByDialect_statement_void2void(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Void.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Void2Void.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Void2Row { - public fun resolveByDialect_statement_void2row(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Row.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Void2Row.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Void2RowOrNull { - public fun resolveByDialect_statement_void2rowOrNull(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2RowOrNull.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Void2RowOrNull.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Void2Table { - public fun resolveByDialect_statement_void2table(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Void2Table.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Void2Table.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Params2Void { - public fun resolveByDialect_statement_params2void(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Void.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Params2Void.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Params2Row { - public fun resolveByDialect_statement_params2row(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Row.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Params2Row.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Params2RowOrNull { - public fun resolveByDialect_statement_params2rowOrNull(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2RowOrNull.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Params2RowOrNull.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } - - public fun interface Statement_Params2Table { - public fun resolveByDialect_statement_params2table(selector: Selector) - - public interface Selector { - @Suppress("BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER") - public fun > bind( - key: DIALECT, constructor: STATEMENT_CONSTRUCTOR - ) where STATEMENT_CONSTRUCTOR_UNBOUND : RawStatement.Params2Table.Constructor<*>, - STATEMENT_CONSTRUCTOR : RawStatement.Params2Table.Constructor, - STATEMENT_CONSTRUCTOR : STATEMENT_CONSTRUCTOR_UNBOUND - } - } -} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectKey.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DriverType.kt similarity index 96% rename from src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectKey.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DriverType.kt index 8a7f23e..7431708 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DialectKey.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/sql_skeleton_0/api/raw/DriverType.kt @@ -3,7 +3,7 @@ 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 DriverType< DATABASE_TYPE : DatabaseType<*>, STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>, STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>,