[history/serdha] Minor improvements

This commit is contained in:
Andrew Golovashevich 2024-12-30 12:24:00 +03:00
parent 8544afd0d4
commit c2c5ab9a28
3 changed files with 20 additions and 4 deletions

View File

@ -15,6 +15,8 @@ public interface ModuleCreator {
}
public fun <TableUserExtension : Any> createTable(namespace: Namespace, name: String, initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
public fun <TableUserExtension : Any> createSessionScopeTemporaryTable(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 fun updateTable(oldTable: Table<TableOldUserExtension, *>, updater: TableUpdater<TableNewUserExtension, TableOldUserExtension>): TableNewUserExtension

View File

@ -0,0 +1,16 @@
package ru.landgrafhomyak.serdha.api.v0.ddl
public interface Table<UserExtension : Any, PreviousUserExtension : Any> {
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>
}

View File

@ -1,7 +1,5 @@
package ru.landgrafhomyak.serdha.api.v0.ddl
public interface UniqueIndex<OwnerTableUserWrapper : Any> {
public val name: String
public val table: Table<OwnerTableUserWrapper, *>
public val columns: List<Column<*, *, OwnerTableUserWrapper>>
public interface UniqueIndex<OwnerTableUserExtension : Any> : Index<OwnerTableUserExtension> {
public val areNullsDistinct: Boolean
}