From 1ce03daf99929c0ba44097ce6f8a2028b6315dab Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Thu, 13 Feb 2025 11:27:15 +0300 Subject: [PATCH] User extension for queries marked as 'out' to allow interfaces --- .../landgrafhomyak/db/serdha0/api/misc/_Selectable.kt | 2 +- .../db/serdha0/api/queries/DeleteQuery.kt | 8 ++++---- .../db/serdha0/api/queries/InsertQuery.kt | 8 ++++---- .../db/serdha0/api/queries/SelectQuery.kt | 10 +++++----- .../db/serdha0/api/queries/UpdateQuery.kt | 8 ++++---- .../ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt | 10 +++++----- .../ru/landgrafhomyak/db/serdha0/api/table/Table.kt | 4 ++-- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/_Selectable.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/_Selectable.kt index ffb363a..5d39a34 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/_Selectable.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/_Selectable.kt @@ -1,6 +1,6 @@ package ru.landgrafhomyak.db.serdha0.api.misc @Suppress("ClassName") -public interface _Selectable { +public interface _Selectable { public val uExt: UE } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/DeleteQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/DeleteQuery.kt index 15e042e..2e8ac74 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/DeleteQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/DeleteQuery.kt @@ -8,8 +8,8 @@ import ru.landgrafhomyak.db.serdha0.api.runtime.InputRow import ru.landgrafhomyak.db.serdha0.api.table.RowId import ru.landgrafhomyak.db.serdha0.api.table.Table -public interface DeleteQuery : _Query { - public interface SingleRow : DeleteQuery, _Query.Params2Table { +public interface DeleteQuery : _Query { + public interface SingleRow : DeleteQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): SingleRow = outQueries.deleteSingleRow(this) @@ -36,7 +36,7 @@ public interface DeleteQuery : _Query { } } - public interface FromSubquery : DeleteQuery, _Query.Params2Table { + public interface FromSubquery : DeleteQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): FromSubquery = outQueries.deleteFromSubquery(this) @@ -67,7 +67,7 @@ public interface DeleteQuery : _Query { } } - public interface MultipleRows : DeleteQuery, _Query.Table2Void { + public interface MultipleRows : DeleteQuery, _Query.Table2Void { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): MultipleRows = outQueries.deleteMultipleRows(this) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/InsertQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/InsertQuery.kt index 359ef00..ffa62bd 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/InsertQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/InsertQuery.kt @@ -8,7 +8,7 @@ import ru.landgrafhomyak.db.serdha0.api.misc._Selectable import ru.landgrafhomyak.db.serdha0.api.runtime.InputRow import ru.landgrafhomyak.db.serdha0.api.table.UniqueIndex -public interface InsertQuery : _Query { +public interface InsertQuery : _Query { @Suppress("ClassName") public interface _UpsertClauseScope { public fun keepColumn(column: Column<*, *, tUE>) @@ -27,7 +27,7 @@ public interface InsertQuery : _Query { } - public interface SingleRow : InsertQuery, _Query.Params2Table { + public interface SingleRow : InsertQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): SingleRow = outQueries.insertSingleRow(this) @@ -52,7 +52,7 @@ public interface InsertQuery : _Query { } - public interface FromSubquery : InsertQuery, _Query.Params2Table { + public interface FromSubquery : InsertQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): FromSubquery = outQueries.insertFromSubquery(this) @@ -82,7 +82,7 @@ public interface InsertQuery : _Query { } } - public interface MultipleRows : InsertQuery, _Query.Table2Void { + public interface MultipleRows : InsertQuery, _Query.Table2Void { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): MultipleRows = outQueries.insertMultipleRows(this) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/SelectQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/SelectQuery.kt index b254a6a..2ce9d47 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/SelectQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/SelectQuery.kt @@ -10,7 +10,7 @@ import ru.landgrafhomyak.db.serdha0.api.misc.Reducer import ru.landgrafhomyak.db.serdha0.api.misc._Selectable import ru.landgrafhomyak.db.serdha0.api.runtime.InputRow -public interface SelectQuery : _Query { +public interface SelectQuery : _Query { public enum class Order { ASC, DESC } @@ -51,7 +51,7 @@ public interface SelectQuery : _Query { public fun > returnColumn(name: String, column: IntermediateColumn): Column } - public interface Simple : SelectQuery, _Query.Params2Table { + public interface Simple : SelectQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): Simple = outQueries.select(this) @@ -69,7 +69,7 @@ public interface SelectQuery : _Query { } } - public interface WithJoin : SelectQuery, _Query.Params2Table { + public interface WithJoin : SelectQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): WithJoin = outQueries.selectWithJoin(this) @@ -96,7 +96,7 @@ public interface SelectQuery : _Query { } } - public interface Reducing : SelectQuery, _Query.Params2Table { + public interface Reducing : SelectQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): Reducing = outQueries.selectReducing(this) @@ -122,7 +122,7 @@ public interface SelectQuery : _Query { } } - public interface Folding : SelectQuery, _Query.Params2Table { + public interface Folding : SelectQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): Folding = outQueries.selectFolding(this) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/UpdateQuery.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/UpdateQuery.kt index b894eab..5270af2 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/UpdateQuery.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/UpdateQuery.kt @@ -7,8 +7,8 @@ import ru.landgrafhomyak.db.serdha0.api.misc.QueryParam import ru.landgrafhomyak.db.serdha0.api.misc._Selectable import ru.landgrafhomyak.db.serdha0.api.runtime.InputRow -public interface UpdateQuery : _Query { - public interface SingleRow : UpdateQuery, _Query.Params2Table { +public interface UpdateQuery : _Query { + public interface SingleRow : UpdateQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): SingleRow = outQueries.updateSingleRow(this) @@ -38,7 +38,7 @@ public interface UpdateQuery : _Query { } } - public interface FromSubquery : UpdateQuery, _Query.Params2Table { + public interface FromSubquery : UpdateQuery, _Query.Params2Table { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): FromSubquery = outQueries.updateFromSubquery(this) @@ -74,7 +74,7 @@ public interface UpdateQuery : _Query { } } - public interface MultipleRows : UpdateQuery, _Query.Table2Void { + public interface MultipleRows : UpdateQuery, _Query.Table2Void { public interface Constructor : _Query.Constructor> { override fun createQuery(internalQueries: _Query.Constructor.Scope, outQueries: _Query.Constructor.Scope): MultipleRows = outQueries.updateMultipleRows(this) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt index 154bf65..ca8a58f 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/queries/_Query.kt @@ -4,13 +4,13 @@ import ru.landgrafhomyak.db.serdha0.api.misc._Selectable @Suppress("ClassName") -public interface _Query { +public interface _Query { public val uExt: qUE - public interface Table2Void : _Query - public interface Params2Void : _Query - public interface Params2Table : _Query, _Selectable - public interface Void2Table : _Query, _Selectable + public interface Table2Void : _Query + public interface Params2Void : _Query + public interface Params2Table : _Query, _Selectable + public interface Void2Table : _Query, _Selectable public interface Constructor { public fun createQuery(internalQueries: Scope, outQueries: Scope): R diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/Table.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/Table.kt index 504485d..e75c1bb 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/Table.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/table/Table.kt @@ -3,8 +3,8 @@ package ru.landgrafhomyak.db.serdha0.api.table import ru.landgrafhomyak.db.serdha0.api.misc._Selectable import ru.landgrafhomyak.db.serdha0.api.module.Module -public interface Table : _Selectable { - public override val uExt: UserExtension +public interface Table : _Selectable { + public override val uExt: UE public val name: String public val module: Module<*>