Removed useless parameters from creating 'ForeignRowReference', not it is also column
This commit is contained in:
parent
b6c8737f89
commit
5927d63f64
@ -3,32 +3,30 @@ package ru.landgrafhomyak.db.serdha0.api.table
|
||||
import ru.landgrafhomyak.db.serdha0.api.misc.Column
|
||||
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
||||
|
||||
public interface CreateTableScope<TableUserExtension : Any> {
|
||||
public interface CreateTableScope<tUE : Any> {
|
||||
public val types: DatabaseType.Provider
|
||||
|
||||
public fun <RT, DT : DatabaseType<RT>> column(name: String, type: DT): Column<RT, DT, TableUserExtension>
|
||||
public fun <RT, DT : DatabaseType<RT>> column(name: String, type: DT): Column<RT, DT, tUE>
|
||||
|
||||
public fun index(name: String, vararg columns: Column<*, *, TableUserExtension>): Index<TableUserExtension>
|
||||
public fun index(name: String, vararg columns: Column<*, *, tUE>): Index<tUE>
|
||||
|
||||
public fun uniqueIndex(name: String, distinctNulls: Boolean, vararg columns: Column<*, *, TableUserExtension>): UniqueIndex<TableUserExtension>
|
||||
public fun <ConstraintUserExtension : Any> checkConstraint(name: String, creator: CheckConstraint.Creator<ConstraintUserExtension, TableUserExtension>, recheckExistingRows: Boolean = false): CheckConstraint<TableUserExtension>
|
||||
public fun <ConstraintUserExtension : Any, RT : Any, DT : DatabaseType<RT>> defaultValue(c: Column<RT, DT, TableUserExtension>, creator: DefaultConstraint.Creator<ConstraintUserExtension, RT, DT, TableUserExtension>): DefaultConstraint<TableUserExtension>
|
||||
public fun uniqueIndex(name: String, distinctNulls: Boolean, vararg columns: Column<*, *, tUE>): UniqueIndex<tUE>
|
||||
public fun <cUE : Any> checkConstraint(name: String, creator: CheckConstraint.Creator<cUE, tUE>, recheckExistingRows: Boolean = false): CheckConstraint<tUE>
|
||||
public fun <cUE : Any, RT : Any, DT : DatabaseType<RT>> defaultValue(c: Column<RT, DT, tUE>, creator: DefaultConstraint.Creator<cUE, RT, DT, tUE>): DefaultConstraint<tUE>
|
||||
|
||||
@Suppress("PropertyName")
|
||||
public val rowId_column: Column<RowId<TableUserExtension>, DatabaseType<RowId<TableUserExtension>>, TableUserExtension>
|
||||
public val rowId_column: Column<RowId<tUE>, DatabaseType<RowId<tUE>>, tUE>
|
||||
|
||||
@Suppress("PropertyName")
|
||||
public val rowId_uniqueConstraint: UniqueIndex<TableUserExtension>
|
||||
public val rowId_uniqueConstraint: UniqueIndex<tUE>
|
||||
|
||||
public fun <TargetTableUserWrapper : Any> selfRowReference(
|
||||
onDelete: ForeignRowReference.OnDeleteAction,
|
||||
toColumn: Column<RowId<TargetTableUserWrapper>, DatabaseType.ROW_ID<TargetTableUserWrapper>, TargetTableUserWrapper>,
|
||||
): ForeignRowReference<TableUserExtension, TableUserExtension>
|
||||
): ForeignRowReference<tUE, tUE>
|
||||
|
||||
public fun <TargetTableUserWrapper : Any> foreignRowReference(
|
||||
fromColumn: Column<RowId<TargetTableUserWrapper>, DatabaseType.ROW_ID<TargetTableUserWrapper>, TableUserExtension>,
|
||||
columnName: String,
|
||||
toTable: Table<TargetTableUserWrapper, *>,
|
||||
toColumn: Column<RowId<TargetTableUserWrapper>, DatabaseType.ROW_ID<TargetTableUserWrapper>, TargetTableUserWrapper>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction,
|
||||
): ForeignRowReference<TableUserExtension, TargetTableUserWrapper>
|
||||
): ForeignRowReference<tUE, TargetTableUserWrapper>
|
||||
}
|
@ -7,37 +7,23 @@ import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
||||
/**
|
||||
* Descriptor of a reference to row in another table (== foreign key to `INTEGER PRIMARY KEY AUTOINCREMENT`). Used for schema manipulations.
|
||||
*
|
||||
* @param ContainerTableUserExtension Type of [owner table's][ForeignRowReference.fromTable] user expression for static reporting errors when this descriptor passed to wrong table.
|
||||
* @param TargetTableUserExtension Type of [target table's][ForeignRowReference.toTable] user expression for static reporting errors when this descriptor passed to wrong table.
|
||||
* @param ctUE Type of [owner table's][ForeignRowReference.fromTable] user expression for static reporting errors when this descriptor passed to wrong table.
|
||||
* @param ttUE Type of [target table's][ForeignRowReference.toTable] user expression for static reporting errors when this descriptor passed to wrong table.
|
||||
*/
|
||||
public interface ForeignRowReference<ContainerTableUserExtension : Any, TargetTableUserExtension : Any> {
|
||||
public interface ForeignRowReference<ctUE : Any, ttUE : Any> : Column<RowId<ttUE>, DatabaseType.ROW_ID<ttUE>, ctUE> {
|
||||
/**
|
||||
* Table that contains references. For debugging.
|
||||
*/
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("fromTable")
|
||||
public val fromTable: Table<ContainerTableUserExtension, *>
|
||||
|
||||
/**
|
||||
* Column in [ForeignRowReference.fromTable] which references row in [ForeignRowReference.toTable]. For debugging.
|
||||
*/
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("fromColumn")
|
||||
public val fromColumn: Column<RowId<TargetTableUserExtension>, DatabaseType.ROW_ID<TargetTableUserExtension>, ContainerTableUserExtension>
|
||||
public val fromTable: Table<ctUE, *>
|
||||
|
||||
/**
|
||||
* Table referenced by this foreign key. For debugging.
|
||||
*/
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("toTable")
|
||||
public val toTable: Table<TargetTableUserExtension, *>
|
||||
|
||||
/**
|
||||
* Row id column in [ForeignRowReference.toTable]. For debugging.
|
||||
*/
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
@get:JvmName("toColumn")
|
||||
public val toColumn: Column<RowId<TargetTableUserExtension>, DatabaseType.ROW_ID<TargetTableUserExtension>, TargetTableUserExtension>
|
||||
public val toTable: Table<ttUE, *>
|
||||
|
||||
|
||||
/**
|
||||
|
@ -4,49 +4,60 @@ import ru.landgrafhomyak.db.serdha0.api.misc.Column
|
||||
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
||||
|
||||
|
||||
public interface UpdateTableScope<TableNewUserExtension : Any, TableOldUserExtension : Any> : CreateTableScope<TableNewUserExtension> {
|
||||
public fun <RT, DT : DatabaseType<RT>> keepColumn(c: Column<RT, DT, TableOldUserExtension>): Column<RT, DT, TableNewUserExtension>
|
||||
public fun <RT, DT : DatabaseType<RT>> keepColumnUntilUpgrading(c: Column<RT, DT, TableOldUserExtension>): Column<RT, DT, TableNewUserExtension>
|
||||
public fun <RT, DT : DatabaseType<RT>> renameAndKeepColumn(c: Column<RT, DT, TableOldUserExtension>, newName: String): Column<RT, DT, TableNewUserExtension>
|
||||
public fun deleteColumn(c: Column<*, *, TableOldUserExtension>)
|
||||
public interface UpdateTableScope<tnUE : Any, toUE : Any> : CreateTableScope<tnUE> {
|
||||
public fun <RT, DT : DatabaseType<RT>> keepColumn(c: Column<RT, DT, toUE>): Column<RT, DT, tnUE>
|
||||
public fun <RT, DT : DatabaseType<RT>> keepColumnUntilUpgraded(c: Column<RT, DT, toUE>): Column<RT, DT, tnUE>
|
||||
public fun <RT, DT : DatabaseType<RT>> renameAndKeepColumn(c: Column<RT, DT, toUE>, newName: String): Column<RT, DT, tnUE>
|
||||
public fun deleteColumn(c: Column<*, *, toUE>)
|
||||
|
||||
public fun keepIndex(i: Index<TableOldUserExtension>): Index<TableNewUserExtension>
|
||||
public fun renameAndKeepIndex(i: Index<TableOldUserExtension>, newName: String): Index<TableNewUserExtension>
|
||||
public fun deleteIndex(i: Index<TableOldUserExtension>)
|
||||
public fun keepIndex(i: Index<toUE>): Index<tnUE>
|
||||
public fun renameAndKeepIndex(i: Index<toUE>, newName: String): Index<tnUE>
|
||||
public fun deleteIndex(i: Index<toUE>)
|
||||
|
||||
public fun keepCheck(i: CheckConstraint<TableOldUserExtension>): CheckConstraint<TableNewUserExtension>
|
||||
public fun renameAndKeepCheck(i: CheckConstraint<TableOldUserExtension>, newName: String): CheckConstraint<TableNewUserExtension>
|
||||
public fun deleteCheck(i: CheckConstraint<TableOldUserExtension>)
|
||||
public fun keepCheck(i: CheckConstraint<toUE>): CheckConstraint<tnUE>
|
||||
public fun renameAndKeepCheck(i: CheckConstraint<toUE>, newName: String): CheckConstraint<tnUE>
|
||||
public fun deleteCheck(i: CheckConstraint<toUE>)
|
||||
|
||||
public fun keepUniqueIndex(i: UniqueIndex<TableOldUserExtension>): UniqueIndex<TableNewUserExtension>
|
||||
public fun renameAndKeepUniqueIndex(i: UniqueIndex<TableOldUserExtension>, newName: String): UniqueIndex<TableNewUserExtension>
|
||||
public fun deleteUniqueIndex(i: UniqueIndex<TableOldUserExtension>)
|
||||
public fun keepUniqueIndex(i: UniqueIndex<toUE>): UniqueIndex<tnUE>
|
||||
public fun renameAndKeepUniqueIndex(i: UniqueIndex<toUE>, newName: String): UniqueIndex<tnUE>
|
||||
public fun deleteUniqueIndex(i: UniqueIndex<toUE>)
|
||||
|
||||
public fun <RT, DT : DatabaseType<RT>> keepDefaultValue(c: Column<RT, DT, TableNewUserExtension>, d: DefaultConstraint<TableOldUserExtension>): DefaultConstraint<TableNewUserExtension>
|
||||
public fun <RT, DT : DatabaseType<RT>> changeDefaultValue(c: Column<RT, DT, TableNewUserExtension>, d: DefaultConstraint<TableOldUserExtension>): DefaultConstraint<TableNewUserExtension>
|
||||
public fun deleteDefaultValue(i: DefaultConstraint<TableOldUserExtension>)
|
||||
public fun <RT, DT : DatabaseType<RT>> keepDefaultValue(c: Column<RT, DT, tnUE>, d: DefaultConstraint<toUE>): DefaultConstraint<tnUE>
|
||||
public fun <RT, DT : DatabaseType<RT>> changeDefaultValue(c: Column<RT, DT, tnUE>, d: DefaultConstraint<toUE>): DefaultConstraint<tnUE>
|
||||
public fun deleteDefaultValue(i: DefaultConstraint<toUE>)
|
||||
|
||||
public fun <TargetTableUserWrapper : Any> keepForeignRowReference(
|
||||
frr: ForeignRowReference<TableOldUserExtension, TargetTableUserWrapper>,
|
||||
public fun <ttUE : Any> keepForeignRowReference(
|
||||
frr: ForeignRowReference<toUE, ttUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<TableNewUserExtension, TargetTableUserWrapper>
|
||||
): ForeignRowReference<tnUE, ttUE>
|
||||
|
||||
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> keepForeignRowReferenceToUpdatedTable(
|
||||
frr: ForeignRowReference<TableOldUserExtension, TargetTableOldUserWrapper>,
|
||||
updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>,
|
||||
public fun <ttoUE : Any, ttnUE : Any> keepForeignRowReferenceToUpdatedTable(
|
||||
frr: ForeignRowReference<toUE, ttoUE>,
|
||||
updatedTable: Table<ttnUE, ttoUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<TableNewUserExtension, TargetTableNewUserWrapper>
|
||||
): ForeignRowReference<tnUE, ttnUE>
|
||||
|
||||
public fun <TargetTableUserWrapper : Any> renameAndKeepForeignRowReference(
|
||||
frr: ForeignRowReference<TableOldUserExtension, TargetTableUserWrapper>,
|
||||
public fun <ttUE : Any> renameAndKeepForeignRowReference(
|
||||
frr: ForeignRowReference<toUE, ttUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<TableNewUserExtension, TargetTableUserWrapper>
|
||||
): ForeignRowReference<tnUE, ttUE>
|
||||
|
||||
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> renameAndKeepForeignRowReferenceToUpdatedTable(
|
||||
frr: ForeignRowReference<TableOldUserExtension, TargetTableOldUserWrapper>,
|
||||
updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>,
|
||||
public fun <ttoUE : Any, ttnUE : Any> renameAndKeepForeignRowReferenceToUpdatedTable(
|
||||
frr: ForeignRowReference<toUE, ttoUE>,
|
||||
updatedTable: Table<ttnUE, ttoUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<TableNewUserExtension, TargetTableNewUserWrapper>
|
||||
): ForeignRowReference<tnUE, ttnUE>
|
||||
|
||||
public fun deleteForeignRowReference(frr: ForeignRowReference<TableOldUserExtension, *>)
|
||||
public fun deleteForeignRowReference(frr: ForeignRowReference<toUE, *>)
|
||||
|
||||
public fun <ttUE : Any> keepForeignRowReferenceUntilUpgraded(
|
||||
frr: ForeignRowReference<toUE, ttUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<tnUE, ttUE>
|
||||
|
||||
public fun <ttoUE : Any, ttnUE : Any> keepForeignRowReferenceToUpdatedTableUntilUpgraded(
|
||||
frr: ForeignRowReference<toUE, ttoUE>,
|
||||
updatedTable: Table<ttnUE, ttoUE>,
|
||||
onDelete: ForeignRowReference.OnDeleteAction? = null
|
||||
): ForeignRowReference<tnUE, ttnUE>
|
||||
}
|
Loading…
Reference in New Issue
Block a user