Reference to owner table in 'CheckConstraint' and 'DefaultConstraint'
This commit is contained in:
parent
7a51863dca
commit
3673235beb
@ -7,32 +7,34 @@ import ru.landgrafhomyak.db.serdha0.api.misc.IntermediateColumn
|
|||||||
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
||||||
import ru.landgrafhomyak.db.serdha0.api.misc.Expression
|
import ru.landgrafhomyak.db.serdha0.api.misc.Expression
|
||||||
|
|
||||||
public interface CheckConstraint<TableUserExtension : Any> {
|
public interface CheckConstraint<tUE : Any> {
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("name")
|
@get:JvmName("name")
|
||||||
public val name: String
|
public val name: String
|
||||||
|
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("table")
|
@get:JvmName("table")
|
||||||
public val table: Table<TableUserExtension, *>
|
public val table: Table<tUE, *>
|
||||||
|
|
||||||
public interface Creator<ConstraintUserExtension : Any, TargetTableUserExtension : Any> {
|
public interface Creator<cUE : Any, ttUE : Any> {
|
||||||
public fun createCheckConstraint(scope: Scope<ConstraintUserExtension, TargetTableUserExtension>)
|
public fun createCheckConstraint(scope: Scope<cUE, ttUE>)
|
||||||
|
|
||||||
public interface Scope<ConstraintUserExtension : Any, TargetTableUserExtension : Any> {
|
public interface Scope<cUE : Any, ttUE : Any> {
|
||||||
public var result: IntermediateColumn<Boolean, DatabaseType.BOOLEAN, ConstraintUserExtension>
|
public val tt: Table<ttUE, *>
|
||||||
public fun <RT, DT : DatabaseType<RT>> selectFromTargetTable(column: Column<RT, DT, TargetTableUserExtension>): IntermediateColumn<RT, DT, ConstraintUserExtension>
|
|
||||||
|
|
||||||
public fun <ReferencedTableUserExtension : Any, RT, DT : DatabaseType<RT>> followReference(
|
public var result: IntermediateColumn<Boolean, DatabaseType.BOOLEAN, cUE>
|
||||||
ref: IntermediateColumn<*, DatabaseType.ROW_ID<ReferencedTableUserExtension>, ConstraintUserExtension>,
|
public fun <RT, DT : DatabaseType<RT>> selectFromTargetTable(column: Column<RT, DT, ttUE>): IntermediateColumn<RT, DT, cUE>
|
||||||
column: Column<RT, DT, ReferencedTableUserExtension>
|
|
||||||
): IntermediateColumn<RT, DT, ReferencedTableUserExtension>
|
|
||||||
|
|
||||||
public val builtinExpressions: BuiltinExpressionsProvider<ConstraintUserExtension>
|
public fun <rtUE : Any, RT, DT : DatabaseType<RT>> followReference(
|
||||||
public fun <ExpressionUserExtension : Any> mapColumns(
|
ref: IntermediateColumn<*, DatabaseType.ROW_ID<rtUE>, cUE>,
|
||||||
expression: Expression<ExpressionUserExtension>,
|
column: Column<RT, DT, rtUE>
|
||||||
input: Expression.InputLinker<ExpressionUserExtension, ConstraintUserExtension>,
|
): IntermediateColumn<RT, DT, rtUE>
|
||||||
output: Expression.OutputLinker<ExpressionUserExtension, ConstraintUserExtension>
|
|
||||||
|
public val builtinExpressions: BuiltinExpressionsProvider<cUE>
|
||||||
|
public fun <eUE : Any> mapColumns(
|
||||||
|
expression: Expression<eUE>,
|
||||||
|
input: Expression.InputLinker<eUE, cUE>,
|
||||||
|
output: Expression.OutputLinker<eUE, cUE>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,32 +7,34 @@ import ru.landgrafhomyak.db.serdha0.api.misc.IntermediateColumn
|
|||||||
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType
|
||||||
import ru.landgrafhomyak.db.serdha0.api.misc.Expression
|
import ru.landgrafhomyak.db.serdha0.api.misc.Expression
|
||||||
|
|
||||||
public interface DefaultConstraint<TableUserExtension : Any> {
|
public interface DefaultConstraint<tUE : Any> {
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("name")
|
@get:JvmName("name")
|
||||||
public val name: String
|
public val name: String
|
||||||
|
|
||||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||||
@get:JvmName("table")
|
@get:JvmName("table")
|
||||||
public val table: Table<TableUserExtension, *>
|
public val table: Table<tUE, *>
|
||||||
|
|
||||||
public interface Creator<ConstraintUserExtension : Any, RT, DT : DatabaseType<RT>, TargetTableUserExtension : Any> {
|
public interface Creator<cUE : Any, RT, DT : DatabaseType<RT>, ttUE : Any> {
|
||||||
public fun createCheckConstraint(scope: Scope<ConstraintUserExtension, RT, DT, TargetTableUserExtension>)
|
public fun createCheckConstraint(scope: Scope<cUE, RT, DT, ttUE>)
|
||||||
|
|
||||||
public interface Scope<ConstraintUserExtension : Any, rRT, rDT : DatabaseType<rRT>, TargetTableUserExtension : Any> {
|
public interface Scope<cUE : Any, rRT, rDT : DatabaseType<rRT>, ttUE : Any> {
|
||||||
public var result: IntermediateColumn<rRT, rDT, ConstraintUserExtension>
|
public val tt: Table<ttUE, *>
|
||||||
public fun <RT, DT : DatabaseType<RT>> selectFromTargetTable(column: Column<RT, DT, TargetTableUserExtension>): IntermediateColumn<RT, DT, ConstraintUserExtension>
|
|
||||||
|
|
||||||
public fun <ReferencedTableUserExtension : Any, RT, DT : DatabaseType<RT>> followReference(
|
public var result: IntermediateColumn<rRT, rDT, cUE>
|
||||||
ref: IntermediateColumn<*, DatabaseType.ROW_ID<ReferencedTableUserExtension>, ConstraintUserExtension>,
|
public fun <RT, DT : DatabaseType<RT>> selectFromTargetTable(column: Column<RT, DT, ttUE>): IntermediateColumn<RT, DT, cUE>
|
||||||
column: Column<RT, DT, ReferencedTableUserExtension>
|
|
||||||
): IntermediateColumn<RT, DT, ReferencedTableUserExtension>
|
|
||||||
|
|
||||||
public val builtinExpressions: BuiltinExpressionsProvider<ConstraintUserExtension>
|
public fun <rtUE : Any, RT, DT : DatabaseType<RT>> followReference(
|
||||||
public fun <ExpressionUserExtension : Any> mapColumns(
|
ref: IntermediateColumn<*, DatabaseType.ROW_ID<rtUE>, cUE>,
|
||||||
expression: Expression<ExpressionUserExtension>,
|
column: Column<RT, DT, rtUE>
|
||||||
input: Expression.InputLinker<ExpressionUserExtension, ConstraintUserExtension>,
|
): IntermediateColumn<RT, DT, rtUE>
|
||||||
output: Expression.OutputLinker<ExpressionUserExtension, ConstraintUserExtension>
|
|
||||||
|
public val builtinExpressions: BuiltinExpressionsProvider<cUE>
|
||||||
|
public fun <eUE : Any> mapColumns(
|
||||||
|
expression: Expression<eUE>,
|
||||||
|
input: Expression.InputLinker<eUE, cUE>,
|
||||||
|
output: Expression.OutputLinker<eUE, cUE>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user