Constructors for all 8 types of raw statements

This commit is contained in:
Andrew Golovashevich 2025-04-17 18:37:58 +03:00
parent f90fce937a
commit d00ecc763e

View File

@ -0,0 +1,189 @@
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<out qUE : Any> {
public 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 _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 _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 Void2Void {
public interface Constructor<in STATEMENT_SCOPE : Any?, out RAW_STATEMENT : Any> {
public fun createRawStatement_void2void(scope: STATEMENT_SCOPE): RAW_STATEMENT
}
}
public interface Void2Single<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_void2single(scope: STATEMENT_SCOPE): RAW_STATEMENT
public fun linkRawStatement_void2single(
scope: _OutputConstructorScope<
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
>
): QUERY_USER_EXTENSION
}
}
public interface Void2AtMostSingle<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_void2atMostSingle(scope: STATEMENT_SCOPE): RAW_STATEMENT
public fun linkRawStatement_void2atMostSingle(
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> {
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 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 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 Params2Single<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_params2single(scope: STATEMENT_SCOPE): RAW_STATEMENT
public fun linkRawStatement_params2single(
scope: _IOConstructorScope<
@UnsafeVariance QUERY_USER_EXTENSION, @UnsafeVariance TYPE_SCOPE, @UnsafeVariance TYPE_DESCRIPTOR, @UnsafeVariance GETTER_SCOPE, @UnsafeVariance SETTER_SCOPE
>
): QUERY_USER_EXTENSION
}
}
public interface Params2AtMostSingle<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_params2atMostSingle(scope: STATEMENT_SCOPE): RAW_STATEMENT
public fun linkRawStatement_params2atMostSingle(
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> {
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
}
}
}