diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/Reducer.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/Reducer.kt index 449b0e7..f957ab5 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/Reducer.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/misc/Reducer.kt @@ -11,16 +11,16 @@ public interface Reducer { public fun interface Linker<_rUE : Any, qUE : Any, oUE : Any> { - public fun link(rUE: _rUE, linker: Scope<_rUE, qUE>): oUE + public fun link(linker: Scope<_rUE, qUE>): oUE - public interface Scope<_rUE : Any, qUE : Any> { - public val rUE: _rUE - public fun > link(red: BidirectionalColumn, src: IntermediateColumn): IntermediateColumn - public fun > linkAndInitialize(red: BidirectionalColumn, src: IntermediateColumn, initial: RT): IntermediateColumn - public fun > linkAndInitialize(red: BidirectionalColumn, src: IntermediateColumn, initial: QueryParam): IntermediateColumn - public fun > link(red: OutputColumn): IntermediateColumn - public fun > linkAndInitialize(red: OutputColumn, initial: RT): IntermediateColumn - public fun > linkAndInitialize(red: OutputColumn, initial: QueryParam): IntermediateColumn + public interface Scope { + public val uExt: rUE + public fun > link(red: BidirectionalColumn, src: IntermediateColumn): IntermediateColumn + public fun > linkAndInitialize(red: BidirectionalColumn, src: IntermediateColumn, initial: RT): IntermediateColumn + public fun > linkAndInitialize(red: BidirectionalColumn, src: IntermediateColumn, initial: QueryParam): IntermediateColumn + public fun > link(red: OutputColumn): IntermediateColumn + public fun > linkAndInitialize(red: OutputColumn, initial: RT): IntermediateColumn + public fun > linkAndInitialize(red: OutputColumn, initial: QueryParam): IntermediateColumn } } diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/InputRow.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/InputRow.kt index 32b4fba..faee2ad 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/InputRow.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/InputRow.kt @@ -4,19 +4,21 @@ import ru.landgrafhomyak.db.serdha0.api.LowLevelApi import ru.landgrafhomyak.db.serdha0.api.misc.DatabaseType import ru.landgrafhomyak.db.serdha0.api.misc.QueryParam -public interface InputRow { - public operator fun set(c: QueryParam, value: RuntimeType) +public interface InputRow { + public val uExt: qUE - public operator fun set(c: QueryParam, value: Byte): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UByte): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Short): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UShort): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Int): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: UInt): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Long): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: ULong): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Char): Unit = this.set(c, value) - public operator fun set(c: QueryParam, value: Boolean): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: RuntimeType) + + public operator fun set(c: QueryParam, value: Byte): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: UByte): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: Short): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: UShort): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: Int): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: UInt): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: Long): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: ULong): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: Char): Unit = this.set(c, value) + public operator fun set(c: QueryParam, value: Boolean): Unit = this.set(c, value) public interface WithRedirect : InputRow { public fun > redirect(c: QueryParam, value: QueryParam) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/OutputRow.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/OutputRow.kt index 62d2c62..6dcfd04 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/OutputRow.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/runtime/OutputRow.kt @@ -3,19 +3,21 @@ package ru.landgrafhomyak.db.serdha0.api.runtime import ru.landgrafhomyak.db.serdha0.api.LowLevelApi import ru.landgrafhomyak.db.serdha0.api.misc.Column -public interface OutputRow { - public operator fun get(c: Column): RuntimeType +public interface OutputRow { + public val uExt: qUE - public operator fun get(c: Column): Byte = this.get(c) - public operator fun get(c: Column): UByte = this.get(c) - public operator fun get(c: Column): Short = this.get(c) - public operator fun get(c: Column): UShort = this.get(c) - public operator fun get(c: Column): Int = this.get(c) - public operator fun get(c: Column): UInt = this.get(c) - public operator fun get(c: Column): Long = this.get(c) - public operator fun get(c: Column): ULong = this.get(c) - public operator fun get(c: Column): Char = this.get(c) - public operator fun get(c: Column): Boolean = this.get(c) + public operator fun get(c: Column): RuntimeType + + public operator fun get(c: Column): Byte = this.get(c) + public operator fun get(c: Column): UByte = this.get(c) + public operator fun get(c: Column): Short = this.get(c) + public operator fun get(c: Column): UShort = this.get(c) + public operator fun get(c: Column): Int = this.get(c) + public operator fun get(c: Column): UInt = this.get(c) + public operator fun get(c: Column): Long = this.get(c) + public operator fun get(c: Column): ULong = this.get(c) + public operator fun get(c: Column): Char = this.get(c) + public operator fun get(c: Column): Boolean = this.get(c) @Suppress("ClassName") @LowLevelApi