Generics parameters order and naming fixes in DML interfaces

This commit is contained in:
Andrew Golovashevich 2025-01-05 20:11:52 +03:00
parent a2c89cc91d
commit 91ac6c464a
6 changed files with 49 additions and 49 deletions

View File

@ -89,13 +89,13 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param QueryUserWrapper User's type for containing query-related descriptors.
* @param QueryUserExtension User's type for containing query-related descriptors.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createTemporarySelectQuery
*/
public fun <QueryUserWrapper : Any> createSelectQuery(initializer: SelectQuery.Creator<QueryUserWrapper>): SelectQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any> createSelectQuery(initializer: SelectQuery.Creator<QueryUserExtension>): SelectQuery<QueryUserExtension>
/**
* Creates 'SELECT' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -103,13 +103,13 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param QueryUserWrapper User's type for containing query-related descriptors.
* @param QueryUserExtension User's type for containing query-related descriptors.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createSelectQuery
*/
public fun <QueryUserWrapper : Any> createTemporarySelectQuery(initializer: SelectQuery.Creator<QueryUserWrapper>): SelectQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any> createTemporarySelectQuery(initializer: SelectQuery.Creator<QueryUserExtension>): SelectQuery<QueryUserExtension>
/**
@ -117,14 +117,14 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserWrapper User's type for containing query-related descriptors.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserExtension User's type for containing query-related descriptors.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createTemporaryInsertQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createInsertQuery(table: Table<TableUserExtension, *>, initializer: InsertQuery.Creator<TableUserExtension, QueryUserWrapper>): InsertQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createInsertQuery(table: Table<TargetTableUserExtension, *>, initializer: InsertQuery.Creator<QueryUserExtension, TargetTableUserExtension>): InsertQuery<QueryUserExtension>
/**
* Creates 'INSERT ... VALUES' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -132,27 +132,27 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserWrapper User's type for containing query-related descriptors.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserExtension User's type for containing query-related descriptors.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createInsertQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryInsertQuery(table: Table<TableUserExtension, *>, initializer: InsertQuery.Creator<TableUserExtension, QueryUserWrapper>): InsertQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createTemporaryInsertQuery(table: Table<TargetTableUserExtension, *>, initializer: InsertQuery.Creator<QueryUserExtension, TargetTableUserExtension>): InsertQuery<QueryUserExtension>
/**
* Creates 'INSERT ... FROM' query.
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createTemporaryCopyQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createCopyQuery(table: Table<TableUserExtension, *>, initializer: CopyQuery.Creator<TableUserExtension, QueryUserWrapper>): CopyQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createCopyQuery(table: Table<TargetTableUserExtension, *>, initializer: CopyQuery.Creator<QueryUserExtension, TargetTableUserExtension>): CopyQuery<QueryUserExtension>
/**
* Creates 'INSERT ... FROM' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -160,26 +160,26 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createCopyQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryCopyQuery(table: Table<TableUserExtension, *>, initializer: CopyQuery.Creator<TableUserExtension, QueryUserWrapper>): CopyQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createTemporaryCopyQuery(table: Table<TargetTableUserExtension, *>, initializer: CopyQuery.Creator<QueryUserExtension, TargetTableUserExtension>): CopyQuery<QueryUserExtension>
/**
* Creates 'UPDATE' query.
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createTemporaryUpdateQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQuery.Creator<TableUserExtension, QueryUserWrapper>): UpdateQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createUpdateQuery(table: Table<TargetTableUserExtension, *>, initializer: UpdateQuery.Creator<QueryUserExtension, TargetTableUserExtension>): UpdateQuery<QueryUserExtension>
/**
* Creates 'UPDATE' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -187,13 +187,13 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createUpdateQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryUpdateQuery(table: Table<TableUserExtension, *>, initializer: UpdateQuery.Creator<TableUserExtension, QueryUserWrapper>): UpdateQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createTemporaryUpdateQuery(table: Table<TargetTableUserExtension, *>, initializer: UpdateQuery.Creator<QueryUserExtension, TargetTableUserExtension>): UpdateQuery<QueryUserExtension>
/**
@ -201,13 +201,13 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table from which data will be deleted.
* @param TargetTableUserExtension User's type with descriptors related to table from which data will be deleted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createTemporaryDeleteQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQuery.Creator<TableUserExtension, QueryUserWrapper>): DeleteQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createDeleteQuery(table: Table<TargetTableUserExtension, *>, initializer: DeleteQuery.Creator<QueryUserExtension, TargetTableUserExtension>): DeleteQuery<QueryUserExtension>
/**
* Creates 'DELETE' query accessible only while the module is [creating][ModuleTemplate.ModuleCreator] or [updating][ModuleTemplate.ModuleUpgrade].
@ -215,13 +215,13 @@ public interface CreateModuleScope {
*
* On [module upgrading][ModuleTemplate.CreateModuleTemplatesScope.upgradeTemplate] must be recreated if needed.
*
* @param TableUserExtension User's type with descriptors related to table from which data will be deleted.
* @param TargetTableUserExtension User's type with descriptors related to table from which data will be deleted.
* @param initializer Query-related descriptors initializer.
* @return Query descriptor.
*
* @see CreateModuleScope.createDeleteQuery
*/
public fun <TableUserExtension : Any, QueryUserWrapper : Any> createTemporaryDeleteQuery(table: Table<TableUserExtension, *>, initializer: DeleteQuery.Creator<TableUserExtension, QueryUserWrapper>): DeleteQuery<QueryUserWrapper>
public fun <QueryUserExtension : Any, TargetTableUserExtension : Any> createTemporaryDeleteQuery(table: Table<TargetTableUserExtension, *>, initializer: DeleteQuery.Creator<QueryUserExtension, TargetTableUserExtension>): DeleteQuery<QueryUserExtension>
/**
* Replaces [specified namespace][rootNs] with schema provided by [template].

View File

@ -12,15 +12,15 @@ public interface CopyQuery<QueryUserExtension : Any> {
/**
* Functional interface for creating 'INSERT ... FROM' query.
*
* Can be implemented like a companion object that just calls [QueryUserWrapper]'s constructor with the same or similar signature.
* Can be implemented like a companion object that just calls [QueryUserExtension]'s constructor with the same or similar signature.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserWrapper User's type with descriptors related to query.
* @param QueryUserExtension User's type with descriptors related to query.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
*
* @see CreateModuleScope.createCopyQuery
* @see CreateModuleScope.createTemporaryCopyQuery
*/
public interface Creator<TableUserExtension : Any, QueryUserWrapper : Any> {
public interface Creator<QueryUserExtension : Any, TargetTableUserExtension : Any> {
/**
* Scope method that uses [creator] to create a query.
*
@ -31,9 +31,9 @@ public interface CopyQuery<QueryUserExtension : Any> {
* @see CreateModuleScope.createCopyQuery
* @see CreateModuleScope.createTemporaryCopyQuery
*/
public fun createCopy(table: Table<TableUserExtension, *>, creator: Scope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createCopy(table: Table<TargetTableUserExtension, *>, creator: Scope<QueryUserExtension, TargetTableUserExtension>): QueryUserExtension
public interface Scope<TargetTableUserExtension : Any, QueryUserExtension : Any> :_CreateInsertOrCopyQueryScope<TargetTableUserExtension, QueryUserExtension> {
public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CreateInsertOrCopyQueryScope<QueryUserExtension, TargetTableUserExtension> {
public fun <RT, DT : DatabaseType<RT>> insert(column: Column<RT, DT, TargetTableUserExtension>, expression: Expression<RT, DT, QueryUserExtension>)
}
}

View File

@ -11,15 +11,15 @@ public interface DeleteQuery<QueryUserExtension : Any> : _CommonCreateQueryScope
/**
* Functional interface for creating 'DELETE' query.
*
* Can be implemented like a companion object that just calls [QueryUserWrapper]'s constructor with the same or similar signature.
* Can be implemented like a companion object that just calls [QueryUserExtension]'s constructor with the same or similar signature.
*
* @param TableUserExtension User's type with descriptors related to table from which data will be deleted.
* @param QueryUserWrapper User's type with descriptors related to query.
* @param QueryUserExtension User's type with descriptors related to query.
* @param TargetTableUserExtension User's type with descriptors related to table from which data will be deleted.
*
* @see CreateModuleScope.createDeleteQuery
* @see CreateModuleScope.createTemporaryDeleteQuery
*/
public interface Creator<TableUserExtension : Any, QueryUserWrapper : Any> {
public interface Creator<QueryUserExtension : Any, TargetTableUserExtension : Any> {
/**
* Scope method that uses [creator] to create a query.
*
@ -30,9 +30,9 @@ public interface DeleteQuery<QueryUserExtension : Any> : _CommonCreateQueryScope
* @see CreateModuleScope.createDeleteQuery
* @see CreateModuleScope.createTemporaryDeleteQuery
*/
public fun createDelete(table: Table<TableUserExtension, *>, creator: Scope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createDelete(table: Table<TargetTableUserExtension, *>, creator: Scope<QueryUserExtension, TargetTableUserExtension>): QueryUserExtension
public interface Scope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val targetTable: SelectedTable<TargetTableUserExtension, QueryUserExtension>
public fun where(expression: Expression<Boolean, DatabaseType.BOOLEAN, QueryUserExtension>)

View File

@ -12,15 +12,15 @@ public interface InsertQuery<QueryUserExtension : Any> {
/**
* Functional interface for creating 'INSERT ... VALUES' query.
*
* Can be implemented like a companion object that just calls [QueryUserWrapper]'s constructor with the same or similar signature.
* Can be implemented like a companion object that just calls [QueryUserExtension]'s constructor with the same or similar signature.
*
* @param TableUserExtension User's type with descriptors related to table to which values will be inserted.
* @param QueryUserWrapper User's type with descriptors related to query.
* @param QueryUserExtension User's type with descriptors related to query.
* @param TargetTableUserExtension User's type with descriptors related to table to which values will be inserted.
*
* @see CreateModuleScope.createInsertQuery
* @see CreateModuleScope.createTemporaryInsertQuery
*/
public interface Creator<TableUserExtension : Any, QueryUserWrapper : Any> {
public interface Creator<QueryUserExtension : Any, TargetTableUserExtension : Any> {
/**
* Scope method that uses [creator] to create a query.
*
@ -31,9 +31,9 @@ public interface InsertQuery<QueryUserExtension : Any> {
* @see CreateModuleScope.createInsertQuery
* @see CreateModuleScope.createTemporaryInsertQuery
*/
public fun createInsert(table: Table<TableUserExtension, *>, creator: Scope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createInsert(table: Table<TargetTableUserExtension, *>, creator: Scope<QueryUserExtension, TargetTableUserExtension>): QueryUserExtension
public interface Scope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CreateInsertOrCopyQueryScope<TargetTableUserExtension, QueryUserExtension> {
public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CreateInsertOrCopyQueryScope<QueryUserExtension, TargetTableUserExtension> {
public class DataParam<@Suppress("unused") QueryUserExtension : Any> private constructor()
public val dataExpressionBuilder: Expression.Builder<DataParam<QueryUserExtension>>

View File

@ -14,13 +14,13 @@ public interface UpdateQuery<QueryUserExtension : Any> : _CommonCreateQueryScope
*
* Can be implemented like a companion object that just calls [QueryUserWrapper]'s constructor with the same or similar signature.
*
* @param TableUserExtension User's type with descriptors related to table, whose rows will be updated.
* @param QueryUserWrapper User's type with descriptors related to query.
* @param TableUserExtension User's type with descriptors related to table, whose rows will be updated.
*
* @see CreateModuleScope.createUpdateQuery
* @see CreateModuleScope.createTemporaryUpdateQuery
*/
public interface Creator<TableUserExtension : Any, QueryUserWrapper : Any> {
public interface Creator<QueryUserWrapper : Any, TargetTableUserExtension : Any> {
/**
* Scope method that uses [creator] to create a query.
*
@ -31,9 +31,9 @@ public interface UpdateQuery<QueryUserExtension : Any> : _CommonCreateQueryScope
* @see CreateModuleScope.createUpdateQuery
* @see CreateModuleScope.createTemporaryUpdateQuery
*/
public fun createUpdate(table: Table<TableUserExtension, *>, creator: Scope<TableUserExtension, QueryUserWrapper>): QueryUserWrapper
public fun createUpdate(table: Table<TargetTableUserExtension, *>, creator: Scope<QueryUserWrapper, TargetTableUserExtension>): QueryUserWrapper
public interface Scope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public interface Scope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val targetTable: SelectedTable<TargetTableUserExtension, QueryUserExtension>
public fun <RuntimeType, DT : DatabaseType<RuntimeType>> selectOldColumnValue(c: Column<RuntimeType, DT, TargetTableUserExtension>): Expression<RuntimeType, DT, QueryUserExtension>

View File

@ -6,17 +6,17 @@ import ru.landgrafhomyak.serdha.api.v0.ddl.table.UniqueIndex
import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType
@Suppress("ClassName")
public interface _CreateInsertOrCopyQueryScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public interface _CreateInsertOrCopyQueryScope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> {
public val insertedValues: SelectedTable<TargetTableUserExtension, QueryUserExtension>
@Suppress("ClassName")
public interface _UpsertClauseScope<TargetTableUserExtension : Any, QueryUserExtension : Any> {
public interface _UpsertClauseScope<QueryUserExtension : Any, TargetTableUserExtension : Any> {
public fun <RT, DT : DatabaseType<RT>> oldColumnValue(c: Column<RT, DT, TargetTableUserExtension>): Expression<RT, DT, QueryUserExtension>
public fun <RT, DT : DatabaseType<RT>> updateColumn(c: Column<RT, DT, TargetTableUserExtension>, e: Expression<RT, DT, QueryUserExtension>)
}
public fun onConflictUpdate(u: UniqueIndex<TargetTableUserExtension>, c: (_UpsertClauseScope<TargetTableUserExtension, QueryUserExtension>) -> Unit)
public fun onConflictUpdate(u: UniqueIndex<TargetTableUserExtension>, c: (_UpsertClauseScope<QueryUserExtension, TargetTableUserExtension>) -> Unit)
public fun onConflictThrow(u: UniqueIndex<TargetTableUserExtension>)
@ -25,11 +25,11 @@ public interface _CreateInsertOrCopyQueryScope<TargetTableUserExtension : Any, Q
public val returningInserted: _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension>
@Suppress("ClassName")
public interface _ReturningUpdatedClauseScope<TargetTableUserExtension : Any, QueryUserExtension : Any> : _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension> {
public interface _ReturningUpdatedClauseScope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CommonCreateQueryScope._ReturningClauseScope<QueryUserExtension> {
public fun <RT, DT : DatabaseType<RT>> oldColumnValue(c: Column<RT, DT, TargetTableUserExtension>): Expression<RT, DT, QueryUserExtension>
}
public val returningUpdated: _ReturningUpdatedClauseScope<TargetTableUserExtension, QueryUserExtension>
public val returningUpdated: _ReturningUpdatedClauseScope<QueryUserExtension, TargetTableUserExtension>
}