# ReturningSuspendExecutable

open class ReturningSuspendExecutable(val statement: ReturningStatement) : SuspendExecutable<ResultApi, ReturningStatement> , Flow<ResultRow>

Represents the execution logic for an underlying SQL statement that also returns a result with data from any modified rows.

## Constructors

ReturningSuspendExecutable
Link copied to clipboard
constructor(statement: ReturningStatement)

## Properties

isAlwaysBatch
Link copied to clipboard
open val isAlwaysBatch: Boolean

Whether the SQL statement is meant to be performed as part of a batch execution.

statement
Link copied to clipboard
open override val statement: ReturningStatement

The actual Exposed Statement on which the specific execution logic should be used.

## Functions

collect
Link copied to clipboard
open suspend override fun collect(collector: FlowCollector<ResultRow>)
execute
Link copied to clipboard
open suspend fun execute(transaction: R2dbcTransaction): ResultApi?

Executes the SQL statement directly in the provided transaction and returns the generated result, or `null` if either no result was retrieved or if the transaction blocked statement execution.

executeInternal
Link copied to clipboard
open suspend override fun R2dbcPreparedStatementApi.executeInternal(transaction: R2dbcTransaction): R2dbcResult

Determines the exact way that an SQL statement is executed in a transaction and applies any necessary logic before returning the result generated by the executed statement.

prepared
Link copied to clipboard
open suspend fun prepared(transaction: R2dbcTransaction, sql: String): R2dbcPreparedStatementApi

Uses a transaction connection and an sql string representation to return a precompiled SQL statement, stored as an implementation of R2dbcPreparedStatementApi.