diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/CreateTableScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/CreateTableScope.kt index 4889fb4..b72c5eb 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/CreateTableScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/CreateTableScope.kt @@ -21,12 +21,15 @@ public interface CreateTableScope { public val rowId_uniqueConstraint: UniqueIndex public fun selfRowReference( + columnName: String, onDelete: ForeignRowReference.OnDelete, ): ForeignRowReference, DatabaseType.ROW_ID> - public fun nullableSelfRowReference( + public fun > selfRowReference( + columnName: String, + type: DT, onDelete: ForeignRowReference.OnDelete, - ): ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>> + ): ForeignRowReference public fun foreignRowReference( columnName: String, @@ -34,9 +37,10 @@ public interface CreateTableScope { onDelete: ForeignRowReference.OnDelete, ): ForeignRowReference, DatabaseType.ROW_ID> - public fun nullableForeignRowReference( + public fun > foreignRowReference( columnName: String, + type: DT, toTable: Table, onDelete: ForeignRowReference.OnDelete, - ): ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>> + ): ForeignRowReference } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/ForeignRowReference.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/ForeignRowReference.kt index 3f60e9a..972c1dc 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/ForeignRowReference.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/ForeignRowReference.kt @@ -10,7 +10,7 @@ import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType * @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?, DT : DatabaseType> : Column, DatabaseType.ROW_ID, ctUE> { +public interface ForeignRowReference> : Column { /** * Table that contains references. For debugging. */ diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/UpdateTableScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/UpdateTableScope.kt index b1c7452..7a6f550 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/UpdateTableScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/UpdateTableScope.kt @@ -26,56 +26,42 @@ public interface UpdateTableScope : CreateTableScope> changeDefaultValue(c: Column, d: DefaultConstraint): DefaultConstraint public fun deleteDefaultValue(i: DefaultConstraint) - public fun ?, DT : DatabaseType> keepForeignRowReference( + public fun > keepForeignRowReference( frr: ForeignRowReference, onDelete: ForeignRowReference.OnDelete? = null ): ForeignRowReference - public fun keepForeignRowReferenceToUpdatedTable( - frr: ForeignRowReference, DatabaseType.ROW_ID>, + public fun , ttnUE : Any, nRT, nDT : DatabaseType> keepForeignRowReferenceToUpdatedTable( + frr: ForeignRowReference, + updatedType: nDT, updatedTable: Table, onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference, DatabaseType.ROW_ID> + ): ForeignRowReference - public fun keepNullableForeignRowReferenceToUpdatedTable( - frr: ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>>, - updatedTable: Table, - onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference, DatabaseType.ROW_ID> - - public fun ?, DT : DatabaseType> renameAndKeepForeignRowReference( + public fun > renameAndKeepForeignRowReference( frr: ForeignRowReference, onDelete: ForeignRowReference.OnDelete? = null ): ForeignRowReference - public fun renameAndKeepForeignRowReferenceToUpdatedTable( - frr: ForeignRowReference, DatabaseType.ROW_ID>, + public fun , ttnUE : Any, nRT, nDT : DatabaseType> renameAndKeepForeignRowReferenceToUpdatedTable( + frr: ForeignRowReference, + updatedType: nDT, updatedTable: Table, onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference, DatabaseType.ROW_ID> - - public fun renameAndKeepNullableForeignRowReferenceToUpdatedTable( - frr: ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>>, - updatedTable: Table, - onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>> + ): ForeignRowReference public fun deleteForeignRowReference(frr: ForeignRowReference) - public fun ?, DT : DatabaseType> keepForeignRowReferenceUntilUpgraded( + public fun > keepForeignRowReferenceUntilUpgraded( frr: ForeignRowReference, onDelete: ForeignRowReference.OnDelete? = null ): ForeignRowReference - public fun keepForeignRowReferenceToUpdatedTableUntilUpgraded( - frr: ForeignRowReference, DatabaseType.ROW_ID>, + public fun , ttnUE : Any, nRT, nDT : DatabaseType> keepForeignRowReferenceToUpdatedTableUntilUpgraded( + frr: ForeignRowReference, + updatedType: nDT, updatedTable: Table, onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference, DatabaseType.ROW_ID> + ): ForeignRowReference - public fun keepNullableForeignRowReferenceToUpdatedTableUntilUpgraded( - frr: ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>>, - updatedTable: Table, - onDelete: ForeignRowReference.OnDelete? = null - ): ForeignRowReference?, DatabaseType.Nullable, DatabaseType.ROW_ID>> } \ No newline at end of file