Represents metadata of a database column.
Represents metadata of a database column.
column name
database vendor identifier of a datatype declared for the column
JVM class that a database driver uses to represent values of the column
Represents a database connection (session).
Represents a database connection (session).
Instances of implementations of this trait can be obtained using a
ConnectionFactory. When clients are done with the connection, they are
required to call a release
method co clean up resources such as open sockets.
Invoking any method of this trait when any previous operation has not completed yet is not allowed. Operation is considered complete when a resulting Future completes.
Transaction management has to be done using beginTx
, commitTx
and
rollbackTx
methods. Using SQL statements to manage transaction state is
not allowed.
SqlWithParams instances passed to Connection
's methods can be created
using sql
string interpolator, for example:
import io.rdbc.sapi._ val conn: Connection = ??? val login = "jdoe" conn.statement(sql"select * from users where login = $login").executeForStream()
Alternatively, when bare Strings are used as SQL statements, parameters are specified by name. Parameter name is an alphanumeric string starting with a letter, prefixed with a colon. Example:
import io.rdbc.sapi._ val conn: Connection = ??? val login = "jdoe" conn.statement(sql"select * from users where login = :login") .bind("login" -> login) .executable.executeForStream()
Provides access to a database Connection.
Provides access to a database Connection.
Implementors must make the implementation of this trait thread-safe.
Represents an executable statement.
Represents an executable statement.
Executable statement is a statement that has all parameters provided and is ready to be executed.
Specification of columns that generate keys
Not null parameter value.
Null parameter value
Represents a set of rows returned by a database engine.
Represents a row of a result returned by a database engine.
Represents a row of a result returned by a database engine.
This class defines a set of methods that can be used to get values from the
row either by a column name or by a column index. Each method has a version
returning an Option to allow null-safe handling of SQL
null
values.
Represents a row meta data.
Represents a row meta data.
meta data for every row column
A reactive streams specification's Publisher
giving access to the rows.
A reactive streams specification's Publisher
giving access to the rows.
When this publisher signals that it is complete clients can safely assume that a database is ready to accept new queries. If subscription is cancelled, however, clients have to wait for Connection.watchForIdle future to complete before issuing another query.
General unbounded numeric type that extends BigDecimal to be able to represent NaN, positive infitnity and negative infinity.
A statement parameter that can represent null (empty) values.
A statement parameter that can represent null (empty) values.
This trait is analogous to standard Option, but keeps type information for empty values. In some cases database engine cannot infer null parameter type - instances of this trait can be used then.
An implicit conversion is provided from Option to instances of this trait - see Opt2OptParam.
This trait does not provide any operations. It is recommended to use Option instances and at the final stage convert them to instances of this trait when passed as statement parameters.
Represent a sql statement along with parameters.
Represent a sql statement along with parameters.
Instances of this class are supposed to be constructed using sql
string interpolator like this:
import io.rdbc.sapi._ val id = 0 val s: SqlWithParams = sql"select * from test where id = $id"
Instances created by the interpolator can be composed:
import io.rdbc.sapi._ val x = 0 val y = 0 val s: SqlWithParams = sql"select * from test where x = $x" + sql"and y = $y"
Represents a SQL statement
Represents a SQL statement
Methods of this trait allow to bind argument values to parameters
either by name or index. Classes extending this trait can be used
as an alternative to sql
string interpolator - SqlInterpolator.
Statement options.
Statement options.
says what keys generated by the database should be returned
Represents a timeout
Represents a timeout
Represents a converter of values returned by database to type desired by a client.
Represents a converter of values returned by database to type desired by a client.
conversion's target type
A registry holding a map of type converters.
Represents a warning emitted by a database engine during statement processing.
Represents a warning emitted by a database engine during statement processing.
database vendor specific warning message
database vendor specific warning code
This object was generated by sbt-buildinfo.
String interpolators
Timeout companion
Factory of TypeConverterRegistry
Provides a Scala API for database connectivity.
Main class is a Connection that can be obtained using a ConnectionFactory.