Minor improvements
This commit is contained in:
parent
5efb3b1c0e
commit
fab47cb0ea
@ -15,8 +15,8 @@ public interface ModuleCreator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public fun <TableUserExtension : Any> createTable(namespace: Namespace, name: String, initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
public fun <TableUserExtension : Any> createTable(namespace: Namespace, name: String, initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
||||||
public fun <TableUserExtension : Any> createTempSessionWideTable(initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
public fun <TableUserExtension : Any> createSessionScopeTemporaryTable(initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
||||||
public fun <TableUserExtension : Any> createTempTransactionWideTable(initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
public fun <TableUserExtension : Any> createTransactionScopeTemporaryTable(initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
|
||||||
|
|
||||||
public interface UpdateTable<TableNewUserExtension : Any, TableOldUserExtension : Any> {
|
public interface UpdateTable<TableNewUserExtension : Any, TableOldUserExtension : Any> {
|
||||||
public fun updateTable(oldTable: Table<TableOldUserExtension, *>, updater: TableUpdater<TableNewUserExtension, TableOldUserExtension>): TableNewUserExtension
|
public fun updateTable(oldTable: Table<TableOldUserExtension, *>, updater: TableUpdater<TableNewUserExtension, TableOldUserExtension>): TableNewUserExtension
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
package ru.landgrafhomyak.serdha.api.v0.ddl
|
package ru.landgrafhomyak.serdha.api.v0.ddl
|
||||||
|
|
||||||
public interface Table<UserExtension : Any, PreviousUserExtension: Any> {
|
public interface Table<UserExtension : Any, PreviousUserExtension : Any> {
|
||||||
public val userExtension: UserExtension
|
public val userExtension: UserExtension
|
||||||
|
public val name: String
|
||||||
|
public val module: Module<*>
|
||||||
|
|
||||||
|
public enum class TemporaryType {
|
||||||
|
TRANSACTION_SCOPE,
|
||||||
|
CONNECTION_SCOPE
|
||||||
|
}
|
||||||
|
|
||||||
|
public val temporaryType: TemporaryType?
|
||||||
|
|
||||||
|
public val namespacesFromModuleRoot: List<String>
|
||||||
}
|
}
|
@ -30,9 +30,31 @@ public interface TableUpdater<TableNewUserExtension : Any, TableOldUserExtension
|
|||||||
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> changeDefaultValue(c: Column<RuntimeType, DatabaseType, TableNewUserExtension>, d: DefaultConstraint<*, *, TableOldUserExtension>): DefaultConstraint<RuntimeType, DatabaseType, TableNewUserExtension>
|
public fun <RuntimeType, DatabaseType : ColumnType<RuntimeType>> changeDefaultValue(c: Column<RuntimeType, DatabaseType, TableNewUserExtension>, d: DefaultConstraint<*, *, TableOldUserExtension>): DefaultConstraint<RuntimeType, DatabaseType, TableNewUserExtension>
|
||||||
public fun deleteDefaultValue(i: DefaultConstraint<*, *, TableOldUserExtension>)
|
public fun deleteDefaultValue(i: DefaultConstraint<*, *, TableOldUserExtension>)
|
||||||
|
|
||||||
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> keepForeignKeyToUpdatedTable(i: ForeignKey<TableOldUserExtension, TargetTableOldUserWrapper>, updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>): ForeignKey<TableNewUserExtension, TargetTableNewUserWrapper>
|
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> keepForeignKeyToUpdatedTable(
|
||||||
public fun <TargetTableUserWrapper : Any> keepForeignKey(i: ForeignKey<TableOldUserExtension, TargetTableUserWrapper>): ForeignKey<TableNewUserExtension, TargetTableUserWrapper>
|
fk: ForeignKey<TableOldUserExtension, TargetTableOldUserWrapper>,
|
||||||
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> renameAndKeepForeignKeyToUpdatedTable(i: ForeignKey<TableOldUserExtension, TargetTableOldUserWrapper>, updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>): ForeignKey<TableNewUserExtension, TargetTableNewUserWrapper>
|
updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>,
|
||||||
public fun <TargetTableUserWrapper : Any> renameAndKeepForeignKey(i: ForeignKey<TableOldUserExtension, TargetTableUserWrapper>): ForeignKey<TableNewUserExtension, TargetTableUserWrapper>
|
onUpdate: ForeignKey.OnUpdateAction? = null,
|
||||||
public fun deleteForeignKey(i: ForeignKey<TableOldUserExtension, *>)
|
onDelete: ForeignKey.OnDeleteAction? = null
|
||||||
|
): ForeignKey<TableNewUserExtension, TargetTableNewUserWrapper>
|
||||||
|
|
||||||
|
public fun <TargetTableUserWrapper : Any> keepForeignKey(
|
||||||
|
fk: ForeignKey<TableOldUserExtension, TargetTableUserWrapper>,
|
||||||
|
onUpdate: ForeignKey.OnUpdateAction? = null,
|
||||||
|
onDelete: ForeignKey.OnDeleteAction? = null
|
||||||
|
): ForeignKey<TableNewUserExtension, TargetTableUserWrapper>
|
||||||
|
|
||||||
|
public fun <TargetTableOldUserWrapper : Any, TargetTableNewUserWrapper : Any> renameAndKeepForeignKeyToUpdatedTable(
|
||||||
|
fk: ForeignKey<TableOldUserExtension, TargetTableOldUserWrapper>,
|
||||||
|
updatedTable: Table<TargetTableNewUserWrapper, TargetTableOldUserWrapper>,
|
||||||
|
onUpdate: ForeignKey.OnUpdateAction? = null,
|
||||||
|
onDelete: ForeignKey.OnDeleteAction? = null
|
||||||
|
): ForeignKey<TableNewUserExtension, TargetTableNewUserWrapper>
|
||||||
|
|
||||||
|
public fun <TargetTableUserWrapper : Any> renameAndKeepForeignKey(
|
||||||
|
fk: ForeignKey<TableOldUserExtension, TargetTableUserWrapper>,
|
||||||
|
onUpdate: ForeignKey.OnUpdateAction? = null,
|
||||||
|
onDelete: ForeignKey.OnDeleteAction? = null
|
||||||
|
): ForeignKey<TableNewUserExtension, TargetTableUserWrapper>
|
||||||
|
|
||||||
|
public fun deleteForeignKey(fk: ForeignKey<TableOldUserExtension, *>)
|
||||||
}
|
}
|
@ -1,7 +1,5 @@
|
|||||||
package ru.landgrafhomyak.serdha.api.v0.ddl
|
package ru.landgrafhomyak.serdha.api.v0.ddl
|
||||||
|
|
||||||
public interface UniqueIndex<OwnerTableUserExtension : Any> {
|
public interface UniqueIndex<OwnerTableUserExtension : Any> : Index<OwnerTableUserExtension> {
|
||||||
public val name: String
|
public val areNullsDistinct: Boolean
|
||||||
public val table: Table<OwnerTableUserExtension, *>
|
|
||||||
public val columns: List<Column<*, *, OwnerTableUserExtension>>
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user