diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectedTable.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectedTable.kt deleted file mode 100644 index 044eabb..0000000 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectedTable.kt +++ /dev/null @@ -1,8 +0,0 @@ -package ru.landgrafhomyak.serdha.api.v0.dml - -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column - -public interface SelectedTable<SelectedTableUserExtension : Any, QueryUserExtension : Any> { - public fun <RT, DT : ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType<RT>> selectColumn(column: Column<RT, DT, SelectedTableUserExtension>): Expression<RT, DT, QueryUserExtension> -} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Column.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Column.kt similarity index 85% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Column.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Column.kt index d401d91..72f3669 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Column.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Column.kt @@ -1,8 +1,7 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.misc import kotlin.jvm.JvmName -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType -import ru.landgrafhomyak.serdha.api.v0.dml.SelectedTable +import ru.landgrafhomyak.serdha.api.v0.table.Table /** * Descriptor of data column (of table or query). Used for schema manipulations and [access in queries builder][SelectedTable.selectColumn]. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseType.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseType.kt similarity index 97% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseType.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseType.kt index b8e4e19..0a5d616 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseType.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseType.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.types +package ru.landgrafhomyak.serdha.api.v0.misc import kotlin.jvm.JvmField import kotlin.jvm.JvmName @@ -6,6 +6,7 @@ import kotlinx.datetime.Instant import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalDateTime import kotlinx.datetime.LocalTime +import ru.landgrafhomyak.serdha.api.v0.table.RowId /** * Descriptor of a database type. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseTypesProvider.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseTypesProvider.kt similarity index 97% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseTypesProvider.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseTypesProvider.kt index 3966d77..10a1f83 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/DatabaseTypesProvider.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/DatabaseTypesProvider.kt @@ -1,7 +1,8 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.types +package ru.landgrafhomyak.serdha.api.v0.misc import kotlin.jvm.JvmName -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table +import ru.landgrafhomyak.serdha.api.v0.table.RowId +import ru.landgrafhomyak.serdha.api.v0.table.Table /** * Provider of database types descriptors. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/Expression.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Expression.kt similarity index 99% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/Expression.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Expression.kt index ebe38a2..6b3e327 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/Expression.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/Expression.kt @@ -1,10 +1,9 @@ -package ru.landgrafhomyak.serdha.api.v0 +package ru.landgrafhomyak.serdha.api.v0.misc import kotlinx.datetime.Instant import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalDateTime import kotlinx.datetime.LocalTime -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType public interface Expression<RuntimeType, DT : DatabaseType<RuntimeType>, OwnerBuilderUserExtension : Any> { public interface Builder<OwnerBuilderUserExtension : Any> { diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InputParam.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/InputParam.kt similarity index 57% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InputParam.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/InputParam.kt index 2e5e2fe..7a37fe7 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InputParam.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/InputParam.kt @@ -1,7 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.dml - -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +package ru.landgrafhomyak.serdha.api.v0.misc public interface InputParam<RT, DT : DatabaseType<RT>, OwnerQueryUserExtension : Any> : Expression<RT, DT, OwnerQueryUserExtension> { public val name: String diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/SelectedTable.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/SelectedTable.kt new file mode 100644 index 0000000..001fdd7 --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/misc/SelectedTable.kt @@ -0,0 +1,5 @@ +package ru.landgrafhomyak.serdha.api.v0.misc + +public interface SelectedTable<SelectedTableUserExtension : Any, QueryUserExtension : Any> { + public fun <RT, DT : DatabaseType<RT>> selectColumn(column: Column<RT, DT, SelectedTableUserExtension>): Expression<RT, DT, QueryUserExtension> +} \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/CreateModuleScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/CreateModuleScope.kt similarity index 95% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/CreateModuleScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/CreateModuleScope.kt index e777f7e..ff0f329 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/CreateModuleScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/CreateModuleScope.kt @@ -1,13 +1,14 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.module +package ru.landgrafhomyak.serdha.api.v0.module -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.dml.CopyQuery -import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery -import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery -import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery -import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery +import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery +import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery +import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery +import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery import ru.landgrafhomyak.serdha.api.v0.runtime.SynchronizedDatabase import ru.landgrafhomyak.serdha.api.v0.runtime.Transaction +import ru.landgrafhomyak.serdha.api.v0.table.CreateTableScope /** * Scope methods for creating new [module template][ModuleTemplate]. @@ -40,7 +41,7 @@ public interface CreateModuleScope { * @see CreateModuleScope.createTransactionScopeTemporaryTable * @see UpgradeModuleScope.TableUpgrade */ - public fun createTable(creator: ru.landgrafhomyak.serdha.api.v0.ddl.table.CreateTableScope<TableUserExtension>): TableUserExtension + public fun createTable(creator: CreateTableScope<TableUserExtension>): TableUserExtension } /** diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Module.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Module.kt similarity index 94% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Module.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Module.kt index e6304cf..4d69f38 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Module.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Module.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.module +package ru.landgrafhomyak.serdha.api.v0.module import kotlin.jvm.JvmName import ru.landgrafhomyak.serdha.api.v0.runtime.SynchronizedDatabase diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/ModuleTemplate.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/ModuleTemplate.kt similarity index 96% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/ModuleTemplate.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/ModuleTemplate.kt index 5be54e6..029b86c 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/ModuleTemplate.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/ModuleTemplate.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.module +package ru.landgrafhomyak.serdha.api.v0.module import ru.landgrafhomyak.serdha.api.v0.runtime.Transaction diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Namespace.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Namespace.kt similarity index 77% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Namespace.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Namespace.kt index 58f0e7e..32cf96f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/Namespace.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/Namespace.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.module +package ru.landgrafhomyak.serdha.api.v0.module public interface Namespace { @Suppress("SpellCheckingInspection") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/UpgradeModuleScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/UpgradeModuleScope.kt similarity index 97% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/UpgradeModuleScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/UpgradeModuleScope.kt index 838ce61..c49b3a5 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/module/UpgradeModuleScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/module/UpgradeModuleScope.kt @@ -1,7 +1,7 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.module +package ru.landgrafhomyak.serdha.api.v0.module -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.table.UpdateTableScope +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.table.UpdateTableScope /** * Scope methods for upgrading [module template][ModuleTemplate]. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/CopyQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/CopyQuery.kt similarity index 82% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/CopyQuery.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/CopyQuery.kt index 3a7fffa..c3ab0ad 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/CopyQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/CopyQuery.kt @@ -1,10 +1,10 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.module.CreateModuleScope -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.module.CreateModuleScope +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType public interface CopyQuery<QueryUserExtension : Any> { public val userExtension: QueryUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/DeleteQuery.kt similarity index 83% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteQuery.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/DeleteQuery.kt index 66b6bc6..d266c75 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/DeleteQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/DeleteQuery.kt @@ -1,9 +1,10 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.module.CreateModuleScope -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.module.CreateModuleScope +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.SelectedTable public interface DeleteQuery<QueryUserExtension : Any> : _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> { public val userExtension: QueryUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/InsertQuery.kt similarity index 84% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertQuery.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/InsertQuery.kt index 2e548ff..5bb731d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/InsertQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/InsertQuery.kt @@ -1,10 +1,11 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.module.CreateModuleScope -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.module.CreateModuleScope +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.InputParam public interface InsertQuery<QueryUserExtension : Any> { public val userExtension: QueryUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/SelectQuery.kt similarity index 86% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectQuery.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/SelectQuery.kt index 4f5672b..68a5bd6 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/SelectQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/SelectQuery.kt @@ -1,8 +1,8 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType -import ru.landgrafhomyak.serdha.api.v0.ddl.module.CreateModuleScope +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.module.CreateModuleScope public interface SelectQuery<QueryUserExtension : Any> : _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> { public val userExtension: QueryUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/UpdateQuery.kt similarity index 85% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateQuery.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/UpdateQuery.kt index 3cd0327..0123ef8 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/UpdateQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/UpdateQuery.kt @@ -1,10 +1,11 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.module.CreateModuleScope -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.module.CreateModuleScope +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.SelectedTable public interface UpdateQuery<QueryUserExtension : Any> : _CommonCreateQueryScope.CanBeSubquery<QueryUserExtension> { public val userExtension: QueryUserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CommonCreateQueryScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CommonCreateQueryScope.kt similarity index 88% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CommonCreateQueryScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CommonCreateQueryScope.kt index 0507846..8a0ff25 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CommonCreateQueryScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CommonCreateQueryScope.kt @@ -1,11 +1,13 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.Expression import ru.landgrafhomyak.serdha.api.v0.LowLevelApi -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseTypesProvider +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider +import ru.landgrafhomyak.serdha.api.v0.misc.InputParam +import ru.landgrafhomyak.serdha.api.v0.misc.SelectedTable import ru.landgrafhomyak.serdha.api.v0.runtime.ParametersSetter import ru.landgrafhomyak.serdha.api.v0.runtime._ParametersSetter diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CreateInsertOrCopyQueryScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CreateInsertOrCopyQueryScope.kt similarity index 82% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CreateInsertOrCopyQueryScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CreateInsertOrCopyQueryScope.kt index 8b32c67..deabfea 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/dml/_CreateInsertOrCopyQueryScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/queries/_CreateInsertOrCopyQueryScope.kt @@ -1,9 +1,10 @@ -package ru.landgrafhomyak.serdha.api.v0.dml +package ru.landgrafhomyak.serdha.api.v0.queries -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column -import ru.landgrafhomyak.serdha.api.v0.ddl.table.UniqueIndex -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.table.UniqueIndex +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.SelectedTable @Suppress("ClassName") public interface _CreateInsertOrCopyQueryScope<QueryUserExtension : Any, TargetTableUserExtension : Any> : _CommonCreateQueryScope<QueryUserExtension> { diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/ParametersSetter.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/ParametersSetter.kt index 7f2ba6f..8383d91 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/ParametersSetter.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/ParametersSetter.kt @@ -1,6 +1,6 @@ package ru.landgrafhomyak.serdha.api.v0.runtime -import ru.landgrafhomyak.serdha.api.v0.dml.InputParam +import ru.landgrafhomyak.serdha.api.v0.misc.InputParam public interface ParametersSetter<QueryUserExtension : Any> { public operator fun <RuntimeType> set(c: InputParam<RuntimeType, *, QueryUserExtension>, value: RuntimeType) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Row.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Row.kt index ab52433..773b1e8 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Row.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Row.kt @@ -1,6 +1,6 @@ package ru.landgrafhomyak.serdha.api.v0.runtime -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Column +import ru.landgrafhomyak.serdha.api.v0.misc.Column public interface Row<QueryUserExtension : Any> { public operator fun <RuntimeType> get(c: Column<RuntimeType, *, QueryUserExtension>): RuntimeType diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/SynchronizedDatabase.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/SynchronizedDatabase.kt index f24de2e..4c0cb1d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/SynchronizedDatabase.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/SynchronizedDatabase.kt @@ -1,14 +1,14 @@ package ru.landgrafhomyak.serdha.api.v0.runtime import ru.landgrafhomyak.serdha.api.v0.LowLevelApi -import ru.landgrafhomyak.serdha.api.v0.ddl.module.Module -import ru.landgrafhomyak.serdha.api.v0.ddl.types.RowId -import ru.landgrafhomyak.serdha.api.v0.ddl.table.Table -import ru.landgrafhomyak.serdha.api.v0.dml.CopyQuery -import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery -import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery -import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery -import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery +import ru.landgrafhomyak.serdha.api.v0.module.Module +import ru.landgrafhomyak.serdha.api.v0.table.RowId +import ru.landgrafhomyak.serdha.api.v0.table.Table +import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery +import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery +import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery +import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery +import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery public interface SynchronizedDatabase<DatabaseUserExtension : Any> : Module<DatabaseUserExtension> { @Suppress("FunctionName") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Transaction.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Transaction.kt index 409ff5f..636e2c7 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Transaction.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/Transaction.kt @@ -1,11 +1,11 @@ package ru.landgrafhomyak.serdha.api.v0.runtime import ru.landgrafhomyak.serdha.api.v0.LowLevelApi -import ru.landgrafhomyak.serdha.api.v0.dml.CopyQuery -import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery -import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery -import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery -import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery +import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery +import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery +import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery +import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery +import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery public interface Transaction { @Suppress("FunctionName") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt index 9c0ecdf..8b1d1e6 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt @@ -1,6 +1,6 @@ package ru.landgrafhomyak.serdha.api.v0.runtime -import ru.landgrafhomyak.serdha.api.v0.ddl.module.ModuleTemplate +import ru.landgrafhomyak.serdha.api.v0.module.ModuleTemplate @Suppress("SpellCheckingInspection") public interface UnsynchronizedDatabase { diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt index 37806f9..d41632a 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/transaction_methods.kt @@ -6,11 +6,11 @@ import kotlin.contracts.InvocationKind import kotlin.contracts.contract import kotlin.jvm.JvmName import ru.landgrafhomyak.serdha.api.v0.LowLevelApi -import ru.landgrafhomyak.serdha.api.v0.dml.CopyQuery -import ru.landgrafhomyak.serdha.api.v0.dml.DeleteQuery -import ru.landgrafhomyak.serdha.api.v0.dml.InsertQuery -import ru.landgrafhomyak.serdha.api.v0.dml.SelectQuery -import ru.landgrafhomyak.serdha.api.v0.dml.UpdateQuery +import ru.landgrafhomyak.serdha.api.v0.queries.CopyQuery +import ru.landgrafhomyak.serdha.api.v0.queries.DeleteQuery +import ru.landgrafhomyak.serdha.api.v0.queries.InsertQuery +import ru.landgrafhomyak.serdha.api.v0.queries.SelectQuery +import ru.landgrafhomyak.serdha.api.v0.queries.UpdateQuery @Suppress("FunctionName") diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CheckConstraint.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CheckConstraint.kt similarity index 84% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CheckConstraint.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CheckConstraint.kt index a9ff3e8..bc7238e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CheckConstraint.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CheckConstraint.kt @@ -1,8 +1,9 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table import kotlin.jvm.JvmName -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType /** * Descriptor of 'check' constraint on columns. Used for schema manipulations. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CreateTableScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CreateTableScope.kt similarity index 86% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CreateTableScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CreateTableScope.kt index 3dc898b..8b5d432 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/CreateTableScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/CreateTableScope.kt @@ -1,9 +1,9 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseTypesProvider -import ru.landgrafhomyak.serdha.api.v0.ddl.types.RowId +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseTypesProvider public interface CreateTableScope<TableUserExtension : Any> { public val expressionBuilder: Expression.Builder<TableUserExtension> diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/DefaultConstraint.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/DefaultConstraint.kt similarity index 79% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/DefaultConstraint.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/DefaultConstraint.kt index 6c7c4b0..c8a3830 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/DefaultConstraint.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/DefaultConstraint.kt @@ -1,7 +1,9 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table import kotlin.jvm.JvmName -import ru.landgrafhomyak.serdha.api.v0.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType /** * Descriptor of default value attached to [column][Column]. Used for schema manipulations. @@ -10,7 +12,7 @@ import ru.landgrafhomyak.serdha.api.v0.Expression * @param DT Descriptor of column type on database side. * @param TableUserExtension Type of [owner's table][Column.table] user expression for static reporting errors when this descriptor passed to wrong table. */ -public interface DefaultConstraint<RT, DT : ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType<RT>, TableUserExtension : Any> { +public interface DefaultConstraint<RT, DT : DatabaseType<RT>, TableUserExtension : Any> { /** * Name of constraint for debugging, errors and raw schema access. */ diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/ForeignRowReference.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/ForeignRowReference.kt similarity index 93% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/ForeignRowReference.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/ForeignRowReference.kt index 6247537..663be65 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/ForeignRowReference.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/ForeignRowReference.kt @@ -1,8 +1,8 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table import kotlin.jvm.JvmName -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType -import ru.landgrafhomyak.serdha.api.v0.ddl.types.RowId +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType /** * Descriptor of a reference to row in another table (== foreign key to `INTEGER PRIMARY KEY AUTOINCREMENT`). Used for schema manipulations. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Index.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Index.kt similarity index 89% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Index.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Index.kt index 3f749be..ae8d11e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Index.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Index.kt @@ -1,6 +1,7 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table import kotlin.jvm.JvmName +import ru.landgrafhomyak.serdha.api.v0.misc.Column /** * Descriptor of index. Used for schema manipulations. diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/RowId.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/RowId.kt similarity index 59% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/RowId.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/RowId.kt index 7ea7c17..b9a20e8 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/types/RowId.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/RowId.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.types +package ru.landgrafhomyak.serdha.api.v0.table public interface RowId<@Suppress("unused") OwnerTableUserExtension: Any> \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Table.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Table.kt similarity index 78% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Table.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Table.kt index 4c9a22c..96e2f6e 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/Table.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/Table.kt @@ -1,6 +1,6 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table -import ru.landgrafhomyak.serdha.api.v0.ddl.module.Module +import ru.landgrafhomyak.serdha.api.v0.module.Module public interface Table<UserExtension : Any, PreviousUserExtension : Any> { public val userExtension: UserExtension diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UniqueIndex.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UniqueIndex.kt similarity index 72% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UniqueIndex.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UniqueIndex.kt index 105dc32..87c5460 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UniqueIndex.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UniqueIndex.kt @@ -1,4 +1,4 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table public interface UniqueIndex<OwnerTableUserExtension : Any> : Index<OwnerTableUserExtension> { public val areNullsDistinct: Boolean diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UpdateTableScope.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UpdateTableScope.kt similarity index 94% rename from src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UpdateTableScope.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UpdateTableScope.kt index 3933e51..ba70b2b 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/table/UpdateTableScope.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/table/UpdateTableScope.kt @@ -1,7 +1,8 @@ -package ru.landgrafhomyak.serdha.api.v0.ddl.table +package ru.landgrafhomyak.serdha.api.v0.table -import ru.landgrafhomyak.serdha.api.v0.Expression -import ru.landgrafhomyak.serdha.api.v0.ddl.types.DatabaseType +import ru.landgrafhomyak.serdha.api.v0.misc.Column +import ru.landgrafhomyak.serdha.api.v0.misc.Expression +import ru.landgrafhomyak.serdha.api.v0.misc.DatabaseType public interface UpdateTableScope<TableNewUserExtension : Any, TableOldUserExtension : Any> : CreateTableScope<TableNewUserExtension> {