# ExplainQuery

open class ExplainQuery(val analyze: Boolean, val options: String?, internalStatement: Statement<*>) : Statement<ResultSet> , Iterable<ExplainResultRow>

Represents the SQL query that obtains information about a statement execution plan.

#### Parameters

analyze

Whether the statement whose execution plan is being queried should actually be executed as well.

options

String of comma-separated parameters to append after the `EXPLAIN` keyword.

## Constructors

ExplainQuery
Link copied to clipboard
constructor(analyze: Boolean, options: String?, internalStatement: Statement<*>)

## Properties

analyze
Link copied to clipboard
val analyze: Boolean
isAlwaysBatch
Link copied to clipboard
open val isAlwaysBatch: Boolean

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

options
Link copied to clipboard
val options: String?
targets
Link copied to clipboard
val targets: List<Table>
type
Link copied to clipboard
val type: StatementType

## Functions

appendTo
Link copied to clipboard
fun <T> Iterable<T>.appendTo(builder: QueryBuilder, separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", transform: QueryBuilder.(T) -> Unit): QueryBuilder

Appends all the elements separated using separator and using the given prefix and postfix if supplied.

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

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

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

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 override fun PreparedStatementApi.executeInternal(transaction: Transaction): ResultSet

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.

forEach
Link copied to clipboard
open fun forEach(p0: Consumer<in ExplainResultRow>)
iterator
Link copied to clipboard
open operator override fun iterator(): Iterator<ExplainResultRow>
prepared
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.

prepareSQL
Link copied to clipboard
open override fun prepareSQL(transaction: Transaction, prepared: Boolean): String

Returns the string representation of an SQL statement.

spliterator
Link copied to clipboard
open fun spliterator(): Spliterator<ExplainResultRow>