From c2c5ab9a28d1bcb3acbc3d2177f65ac54b70ef51 Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Mon, 30 Dec 2024 12:24:00 +0300 Subject: [PATCH] [history/serdha] Minor improvements --- .../serdha/api/v0/ddl/ModuleCreator.kt | 2 ++ .../ru/landgrafhomyak/serdha/api/v0/ddl/Table.kt | 16 ++++++++++++++++ .../serdha/api/v0/ddl/UniqueIndex.kt | 6 ++---- 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/Table.kt diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt index 932c3f3..17cb361 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleCreator.kt @@ -15,6 +15,8 @@ public interface ModuleCreator { } public fun createTable(namespace: Namespace, name: String, initializer: CreateTable): Table + public fun createSessionScopeTemporaryTable(initializer: CreateTable): Table + public fun createTransactionScopeTemporaryTable(initializer: CreateTable): Table public interface UpdateTable { public fun updateTable(oldTable: Table, updater: TableUpdater): TableNewUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/Table.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/Table.kt new file mode 100644 index 0000000..9b7dbaa --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/Table.kt @@ -0,0 +1,16 @@ +package ru.landgrafhomyak.serdha.api.v0.ddl + +public interface Table { + 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 +} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/UniqueIndex.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/UniqueIndex.kt index 7ca3b21..8ee6c09 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/UniqueIndex.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/UniqueIndex.kt @@ -1,7 +1,5 @@ package ru.landgrafhomyak.serdha.api.v0.ddl -public interface UniqueIndex { - public val name: String - public val table: Table - public val columns: List> +public interface UniqueIndex : Index { + public val areNullsDistinct: Boolean } \ No newline at end of file