A column in a select statement. This can be either a TableColumn or a
QueryColumn.
Superclass for statements that can set table columns: UpdateStatement and
InsertStatement. This class maintains a list of the columns that have been
set, and a code block to set each value.
Represents a database that we connect to using JDBC. This is the main
entry point in this library for operations on a database.
An SQL delete statement. See Database.deleteFrom.
A generic SQL statement. The entire statement body is set by user code.
See Database.statement.
An SQL insert statement. See Database.insertInto.
A parameter to an SQL statement. Parameters are represented as "?" in the text
of a SQL statement. Before executing a statement, they can be set, using
ParameterSetter.set, which sets one the underlying java.sql.PreparedStatement's parameter
values.
Type for statements that can set parameters: DeleteStatement, UpdateStatement,
SelectQuery and GenericStatement. This class maintains a map of the parameters
that have been set to code blocks that set the parameters on a PreparedStatement, given
the value index.
A query column with a SQL expression, like "COUNT(*)". QueryColumn values
are read-only, and query columns cannot appear in a SelectQuery marked as
for update.
Abstract superclass for objects that hold a ResultSet: SelectQuery and InsertStatement.Result.
This class maintains a map that is used to look up a desired Column, and find it in
a ResultSet.
A delete statement that can be stored in a variable, and used multipe times. This saves the
(small) overhead of a hash table lookup that's incurred when using Database.deleteFrom every
time the same statement is run.
A generic statement that can be stored in a variable, and used multipe times. This saves the
(small) overhead of a hash table lookup that's incurred when using Database.statement every
time the same statement is run.
A select query that can be stored in a variable, and used multipe times. This saves the
(small) overhead of a hash table lookup that's incurred when using Database.select every
time the same statement is run.
An SQL select query. See Database.select.
Abstract superclass for the builder of all statement types.
See also StatementBuilder.doNotCache
Base class for Table definitions. A table is defined by making a singleton object
that implements this type, with TableColumn members. Columns register themselves
with their table, which is the first parameter to their constructor.
A column in a Table. The SQL type of the column is determined by
sqlType, and the Kotlin type is determined by adapter. See Table
Superclass for the builder of all statements that can have SQL strings
added to the statement body. See TextStatementBuilder.plus.
An SQL update statement. See Database.update.
Interface describing an object that is used to adapt a PreparedStatement or a
ResultSet by getting/setting a value of the appropriate type.
Abstract superclass for all value adapters of non-nullable types. This
provides an implementation of a method that creates a value adapter of the
corresponding nullable type.