Statement

abstract class Statement<out T>(val type: StatementType, val targets: List<Table>)

Base class representing an SQL statement that can be executed.

Parameters

type

The specific StatementType, usually represented by the leading word in the command syntax.

targets

Tables on which to perform the SQL statement.

Inheritors

Constructors

Link copied to clipboard
constructor(type: StatementType, targets: List<Table>)

Properties

Link copied to clipboard
open val isAlwaysBatch: Boolean = false

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

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
abstract fun arguments(): Iterable<Iterable<Pair<IColumnType<*>, Any?>>>

Returns all mappings of columns and expression types to their values needed to prepare an SQL statement.

Link copied to clipboard
fun execute(transaction: Transaction): T?

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.

Link copied to clipboard
abstract fun PreparedStatementApi.executeInternal(transaction: Transaction): T?

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.

Link copied to clipboard
open fun prepared(transaction: Transaction, sql: String): PreparedStatementApi

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

Link copied to clipboard
abstract fun prepareSQL(transaction: Transaction, prepared: Boolean = true): String

Returns the string representation of an SQL statement.