RunnableQuery
A query that can be run: the base of every builder and of RawQuery, carrying the terminal methods.
The terminals are the driver's, with the same names and meanings, and find their session when they run - inside a transaction, the transaction's. They throw as the driver throws; asResult switches to terminals that return a value.
Parameters are @name only and are supplied at the terminal. Positional $1 placeholders are reached through db.execute { createNativeQuery(…) }.
Inheritors
Properties
Functions
This query with terminals that return a DataResult instead of throwing, on the boundary dbResult applies - a fetch*Strict that found no row still throws.
Turns this query into a step of a TransactionPlan instead of running it. The parameters given at the step's terminal may hold TransactionValues pointing at earlier steps.
Carries registered converters into a builder's copy(), alongside whatever clauses it copies.
Runs the statement and returns how many rows it affected.
As fetchField, but the query must return exactly one row rather than at most one.
Runs the query and returns its single row, throwing where the count was anything but one.
Runs the query and hands the first column of each row, as T, to block as forEachRow does.
Runs the query and hands each row, mapped onto T, to block as it arrives, as forEachRow does.
The driver query every terminal runs, carrying this query's own converters.
Renders the SQL. Called once per terminal call, so a builder may put off assembling it until here.
Registers a ParameterConverter for this query alone, on the terms of registerResultConverter.
Registers a ResultConverter for this query alone, consulted ahead of the session's. A later registration here wins over an earlier one.