# Package-level declarations

## Types

BatchInsertBlockingExecutable
Link copied to clipboard
open class BatchInsertBlockingExecutable<S : BatchInsertStatement>(val statement: S) : InsertBlockingExecutable<List<ResultRow>, S>

Represents the execution logic for an SQL statement that batch inserts new rows into a table.

BatchUpdateBlockingExecutable
Link copied to clipboard
open class BatchUpdateBlockingExecutable(val statement: BatchUpdateStatement) : UpdateBlockingExecutable

Represents the execution logic for an SQL statement that batch updates rows of a table.

BatchUpsertBlockingExecutable
Link copied to clipboard
open class BatchUpsertBlockingExecutable(val statement: BatchUpsertStatement) : BatchInsertBlockingExecutable<BatchUpsertStatement>

Represents the execution logic for an SQL statement that either batch inserts new rows into a table, or updates the existing rows if insertions violate unique constraints.

BlockingExecutable
Link copied to clipboard
interface BlockingExecutable<out T, S : Statement<T>>

Executable provides a customizable execution mechanism for SQL statements within a transaction.

DeleteBlockingExecutable
Link copied to clipboard
open class DeleteBlockingExecutable(val statement: DeleteStatement) : BlockingExecutable<Int, DeleteStatement>

Represents the execution logic for an SQL statement that deletes one or more rows of a table.

InsertBlockingExecutable
Link copied to clipboard
open class InsertBlockingExecutable<Key : Any, S : InsertStatement<Key>>(val statement: S) : BlockingExecutable<Int, S>

Represents the execution logic for an SQL statement that inserts a new row into a table.

InsertSelectBlockingExecutable
Link copied to clipboard
open class InsertSelectBlockingExecutable(val statement: InsertSelectStatement) : BlockingExecutable<Int, InsertSelectStatement>

Represents the execution logic for an SQL statement that uses data retrieved from a query to insert new rows into a table.

MergeBlockingExecutable
Link copied to clipboard
open class MergeBlockingExecutable<S : MergeStatement>(val statement: S) : BlockingExecutable<Int, S>

Represents the execution logic for an SQL MERGE statement that encapsulates the logic to perform conditional updates, insertions, or deletions.

ReturningBlockingExecutable
Link copied to clipboard
open class ReturningBlockingExecutable(val statement: ReturningStatement) : BlockingExecutable<ResultApi, ReturningStatement> , Iterable<ResultRow>

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

SQLServerBatchInsertBlockingExecutable
Link copied to clipboard
open class SQLServerBatchInsertBlockingExecutable(val statement: SQLServerBatchInsertStatement) : BatchInsertBlockingExecutable<SQLServerBatchInsertStatement>

Represents the execution logic for an SQL statement that batch inserts new rows into a table, specifically for the SQL Server database.

UpdateBlockingExecutable
Link copied to clipboard
open class UpdateBlockingExecutable(val statement: UpdateStatement) : BlockingExecutable<Int, UpdateStatement>

Represents the execution logic for an SQL statement that updates rows of a table.

UpsertBlockingExecutable
Link copied to clipboard
open class UpsertBlockingExecutable<Key : Any>(val statement: UpsertStatement<Key>) : InsertBlockingExecutable<Key, UpsertStatement<Key>>

Represents the execution logic for an SQL statement that either inserts a new row into a table, or updates the existing row if insertion would violate a unique constraint.

## Functions

toExecutable
Link copied to clipboard
fun <T : Any, S : Statement<T>> S.toExecutable(): BlockingExecutable<T, S>

Returns the associated BlockingExecutable that accepts this Statement type as an argument, allowing the provided statement to be then sent to the database for execution.