From c4741dece21a7ad0087fc4a47bc30e68260ec3e0 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Sat, 15 Apr 2023 16:19:04 +0300 Subject: [PATCH] Remove unnecessary reification from Kotlin R2DBC extensions. This allows calling the extensions from generic code that has erased types. Original pull request #1496 --- .../data/r2dbc/core/ReactiveInsertOperationExtensions.kt | 3 ++- .../data/r2dbc/core/ReactiveSelectOperationExtensions.kt | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveInsertOperationExtensions.kt b/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveInsertOperationExtensions.kt index 8516a9ab..08a1af56 100644 --- a/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveInsertOperationExtensions.kt +++ b/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveInsertOperationExtensions.kt @@ -21,6 +21,7 @@ import kotlinx.coroutines.reactive.awaitSingle * Extensions for [ReactiveInsertOperation]. * * @author Mark Paluch + * @author Oleg Oshmyan * @since 1.1 */ @@ -33,5 +34,5 @@ inline fun ReactiveInsertOperation.insert(): ReactiveInsertOpe /** * Coroutines variant of [ReactiveInsertOperation.TerminatingInsert.using]. */ -suspend inline fun ReactiveInsertOperation.TerminatingInsert.usingAndAwait(o: T): T = +suspend fun ReactiveInsertOperation.TerminatingInsert.usingAndAwait(o: T): T = using(o).awaitSingle() diff --git a/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveSelectOperationExtensions.kt b/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveSelectOperationExtensions.kt index 7870838e..298c8463 100644 --- a/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveSelectOperationExtensions.kt +++ b/spring-data-r2dbc/src/main/kotlin/org/springframework/data/r2dbc/core/ReactiveSelectOperationExtensions.kt @@ -24,6 +24,7 @@ import kotlinx.coroutines.reactive.awaitSingle * Extensions for [ReactiveSelectOperation]. * * @author Mark Paluch + * @author Oleg Oshmyan * @since 1.1 */ @@ -42,25 +43,25 @@ inline fun ReactiveSelectOperation.SelectWithProjection<*>.asT /** * Non-nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.one]. */ -suspend inline fun ReactiveSelectOperation.TerminatingSelect.awaitOne(): T = +suspend fun ReactiveSelectOperation.TerminatingSelect.awaitOne(): T = one().awaitSingle() /** * Nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.one]. */ -suspend inline fun ReactiveSelectOperation.TerminatingSelect.awaitOneOrNull(): T? = +suspend fun ReactiveSelectOperation.TerminatingSelect.awaitOneOrNull(): T? = one().awaitFirstOrNull() /** * Non-nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.first]. */ -suspend inline fun ReactiveSelectOperation.TerminatingSelect.awaitFirst(): T = +suspend fun ReactiveSelectOperation.TerminatingSelect.awaitFirst(): T = first().awaitSingle() /** * Nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.first]. */ -suspend inline fun ReactiveSelectOperation.TerminatingSelect.awaitFirstOrNull(): T? = +suspend fun ReactiveSelectOperation.TerminatingSelect.awaitFirstOrNull(): T? = first().awaitFirstOrNull() /**