From c447770d71adfd7b45f18e795688238107fc4872 Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Thu, 2 Jan 2025 02:09:00 +0300 Subject: [PATCH] [history/serdha] Changing ForeignKey to ForeignRowReference --- .../serdha/api/v0/ddl/TableCreator.kt | 68 +++---------------- 1 file changed, 9 insertions(+), 59 deletions(-) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt index 8644598..5d51bee 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/TableCreator.kt @@ -1,7 +1,6 @@ package ru.landgrafhomyak.serdha.api.v0.ddl import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.LowLevelApi public interface TableCreator { public val expressionBuilder: Expression.Builder @@ -22,64 +21,15 @@ public interface TableCreator { @Suppress("PropertyName") public val rowId_uniqueConstraint: UniqueIndex - @Suppress("FunctionName") - @LowLevelApi - public fun _foreignKey( - fromColumns: Array>, - toTable: Table, - toColumns: Array>, - onUpdate: ForeignKey.OnUpdateAction, - onDelete: ForeignKey.OnDeleteAction, - ): ForeignKey + public fun selfRowReference( + onDelete: ForeignRowReference.OnDeleteAction, + toColumn: Column, ColumnType.ROW_ID, TargetTableUserWrapper>, + ): ForeignRowReference - @OptIn(LowLevelApi::class) - public fun > foreignKey( - fromColumn: Column<*, ColumnType1, TableUserExtension>, + public fun foreignRowReference( + fromColumn: Column, ColumnType.ROW_ID, TableUserExtension>, toTable: Table, - toColumn: Column<*, ColumnType1, TargetTableUserWrapper>, - onUpdate: ForeignKey.OnUpdateAction, - onDelete: ForeignKey.OnDeleteAction, - ): ForeignKey = this._foreignKey( - fromColumns = arrayOf(fromColumn), - toTable = toTable, - toColumns = arrayOf(toColumn), - onUpdate = onUpdate, - onDelete = onDelete - ) - - @OptIn(LowLevelApi::class) - public fun , ColumnType2 : ColumnType<*>> foreignKey( - fromColumn1: Column<*, ColumnType1, TableUserExtension>, - fromColumn2: Column<*, ColumnType2, TableUserExtension>, - toTable: Table, - toColumn1: Column<*, ColumnType1, TargetTableUserWrapper>, - toColumn2: Column<*, ColumnType2, TargetTableUserWrapper>, - onUpdate: ForeignKey.OnUpdateAction, - onDelete: ForeignKey.OnDeleteAction, - ): ForeignKey = this._foreignKey( - fromColumns = arrayOf(fromColumn1, fromColumn2), - toTable = toTable, - toColumns = arrayOf(toColumn1, toColumn2), - onUpdate = onUpdate, - onDelete = onDelete - ) - - @OptIn(LowLevelApi::class) - public fun , ColumnType2 : ColumnType<*>, ColumnType3 : ColumnType<*>> foreignKey( - fromColumn1: Column<*, ColumnType1, TableUserExtension>, - fromColumn2: Column<*, ColumnType2, TableUserExtension>, - fromColumn3: Column<*, ColumnType3, TableUserExtension>, - toTable: Table, - toColumn1: Column<*, ColumnType1, TargetTableUserWrapper>, - toColumn2: Column<*, ColumnType2, TargetTableUserWrapper>, - toColumn3: Column<*, ColumnType3, TargetTableUserWrapper>, - onUpdate: ForeignKey.OnUpdateAction, - onDelete: ForeignKey.OnDeleteAction, - ): ForeignKey = this._foreignKey( - fromColumns = arrayOf(fromColumn1, fromColumn2, fromColumn3), - toTable = toTable, - toColumns = arrayOf(toColumn1, toColumn2, toColumn3), - onUpdate = onUpdate, - onDelete = onDelete - ) + toColumn: Column, ColumnType.ROW_ID, TargetTableUserWrapper>, + onDelete: ForeignRowReference.OnDeleteAction, + ): ForeignRowReference } \ No newline at end of file