Specialized JDBC ResultConverter for non-Option
values.
Set parameters on a new Connection.
Set parameters on a new Connection. This is used by DataSourceJdbcDataSource.
Slick profile for IBM DB2 UDB.
Slick profile for IBM DB2 UDB.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
Note: The DB2 JDBC driver has problems with quoted identifiers. Columns which are returned from inserts must not require quoted names (in particular, they must not contain lower-case characters or be equal to a reserved word), otherwise a bug in the DB2 JDBC driver triggers a SQL Error -206 (SQLState 42703).
A JdbcDataSource for a DataSource
A DataSource that wraps the DriverManager API.
A DataSource that wraps the DriverManager API. It can be configured as a Java Bean and used both stand-alone and as a source for a connection pool. This implementation is design specifically to handle a non-JDBC Database URL in the format defined by the libpq standard.
Specialized JDBC ResultConverter for handling non-Option
values with a default.
Specialized JDBC ResultConverter for handling non-Option
values with a default.
A (possibly specialized) function for the default value is used to translate SQL NULL
values.
Slick profile for Derby/JavaDB.
Slick profile for Derby/JavaDB.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
Functions.database
is not available in Derby. Slick
will return an empty string instead.Sequence.curr
to get the current value of a sequence is
not supported by Derby. Trying to generate SQL code which uses this
feature throws a SlickException.zip
and
zipWithIndex
. Trying to generate SQL code which uses this
feature causes the DB to throw an exception. We do not prevent these
queries from being generated because we expect future Derby versions to
support them with the standard SQL:2003 syntax (see
http://wiki.apache.org/db-derby/OLAPRowNumber).A DataSource that wraps the DriverManager API.
A DataSource that wraps the DriverManager API. It can be configured as a Java Bean and used both stand-alone and as a source for a connection pool.
Basic conversions for extracting values from PositionedResults.
GetResult for tuple types.
Slick profile for H2.
Slick profile for H2.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
AutoInc
fields. Otherwise the operation
is performmed natively on the server side.Slick profile for HyperSQL (starting with version 2.0).
Slick profile for HyperSQL (starting with version 2.0).
This profile implements the slick.jdbc.JdbcProfile without the following capabilities:
Sequence.curr
to get the current value of a sequence is
not supported by Hsqldb. Trying to generate SQL code which uses this
feature throws a SlickException.Base trait for all statement invokers of result element type R.
Specialized JDBC ResultConverter for handling isDefined
checks for Option
values.
A JDBC-based database back-end that is used by slick.jdbc.JdbcProfile.
A JdbcDataSource
provides a way to create a Connection
object for a database.
A JdbcDataSource
provides a way to create a Connection
object for a database. It is
similar to a javax.sql.DataSource
but simpler. Unlike JdbcBackend.DatabaseDef it is not a
part of the backend cake. This trait defines the SPI for 3rd-party connection pool support.
Create a JdbcDataSource from a Config
object and an optional JDBC Driver
.
Create a JdbcDataSource from a Config
object and an optional JDBC Driver
.
This is used with the "connectionPool" configuration option in
JdbcBackend.DatabaseFactoryDef.forConfig.
JDBC profile component which contains the mapping compiler and insert compiler
Build a Slick model from introspecting the JDBC metadata.
Build a Slick model from introspecting the JDBC metadata.
In most cases you are better off transforming the generated model instead of overriding functionality here. It is only useful if you need easy access to the JDBC metadata in order to influence how the model is generated. A good use case would be interpreting column types or default values that Slick doesn't understand out of the box. If you just want to remove or hard code some default values, transform the resulting model instead.
The tight coupling can easily lead to source code incompatibilities in future versions. Avoid hooking in here if you don't have to.
Abstract profile for accessing SQL databases via JDBC.
A JdbcType object represents a Scala type that can be used as a column type in the database.
A JdbcType object represents a Scala type that can be used as a column type in the database. Implicit JdbcTypes for the standard types are provided by the profile.
A wrapper for java.sql.PreparedStatement
that logs statements, parameters and benchmark results
to the appropriate JdbcBackend loggers.
A wrapper for java.sql.Statement
that logs statements and benchmark results
to the appropriate JdbcBackend loggers.
Slick profile for MySQL.
Slick profile for MySQL.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
Sequences are supported through an emulation which requires the schema to
be created by Slick. You can also use an existing schema with your own
sequence emulation if you provide for each sequence s a pair of
functions s_nextval
and s_currval
.
The default type for strings of unlimited length is "TEXT", falling back to
"VARCHAR(254)" if a Default
or PrimaryKey
column option is set. This can be
changed by overriding slick.jdbc.MySQLProfile.defaultStringType
in application.conf.
Note: Slick 3.2 also checks the old config path "slick.driver.MySQL" that was used by Slick 3.0 and 3.1, and logs a warning if anything is found there. Values from the old path are *not* used anymore. This deprecation warning will be removed in a future version.
Specialized JDBC ResultConverter for handling values of type Option[T]
.
Specialized JDBC ResultConverter for handling values of type Option[T]
.
Boxing is avoided when the result is None
.
Slick profile for Oracle.
Slick profile for Oracle.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
Note: The Oracle JDBC driver has problems with quoted identifiers. Columns which are returned from inserts must not require quoted names (in particular, they must not contain lower-case characters or be equal to a reserved word), otherwise a bug in the Oracle JDBC driver triggers an ORA-00904 error. The same issue arises when trying to update such a column in a mutable result set.
Updating Blob values in updatable result sets is not supported.
A wrapper for a JDBC PreparedStatement
which allows inceremental setting of
parameters without having to sepcify the column index each time.
A database result positioned at a row and column.
An CloseableIterator for a PositionedResult.
Slick profile for PostgreSQL.
Slick profile for PostgreSQL.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
returning
are
emulated on the client side.Notes:
Blob
type uses the
database type lo
and the stored procedure
lo_manage
, both of which are provided by the "lo"
extension in PostgreSQL.Ensure that every expression in a GroupBy's "by" clause contains a reference to a proper source field.
Ensure that every expression in a GroupBy's "by" clause contains a reference to a proper source field. If this is not the case, wrap the source in a Subquery boundary.
Represents a result set concurrency mode.
Represents a result set holdability mode .
An invoker which calls a function to retrieve a ResultSet.
An invoker which calls a function to retrieve a ResultSet. This can be used for reading information from a java.sql.DatabaseMetaData object which has many methods that return ResultSets.
For convenience, if the function returns null, this is treated like an empty ResultSet.
Represents a result set type.
Slick profile for Microsoft SQL Server.
Slick profile for Microsoft SQL Server.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
The default type for strings of unlimited length is "VARCHAR(MAX)", falling back to
"VARCHAR(254)" if a PrimaryKey
column option is set. This can be
changed by overriding slick.jdbc.SQLServerProfile.defaultStringType
in application.conf.
Slick profile for SQLite.
Slick profile for SQLite.
This profile implements slick.jdbc.JdbcProfile without the following capabilities:
Functions.user
and Functions.database
are
not available in SQLite. Slick will return empty strings for both.Array[Byte]
is).zip
and
zipWithIndex
) are not supported. Trying to generate SQL
code which uses this feature throws a SlickException.AutoInc
field. Otherwise the operation
is performmed natively on the server side.Basic conversions for setting parameters in PositionedParameters.
SetParameter for tuple types.
A non-streaming Action that wraps a JDBC call.
An invoker which executes an SQL statement through JDBC.
A streaming Action that wraps an Invoker.
A streaming Action that wraps an Invoker. It is used for the Lifted Embedding, Direct Embedding, Plain SQL queries, and JDBC metadata.
Represents a transaction isolation level.
A JdbcDataSource which can load a JDBC Driver
from a class name
A JdbcDataSource which can load a JDBC Driver
from a class name
(Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead
A JdbcDataSource for lookup via a Driver
or the DriverManager
A JdbcDataSource for lookup via a Driver
or the DriverManager
(Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead
Capabilities for slick.jdbc.JdbcProfile.
Factory methods for JdbcResultConverters which are manually specialized on the underlying JdbcType.
Factory methods for JdbcResultConverters which are manually specialized on the underlying JdbcType. A generic implementation of this factory still provides allocation free call paths but performs almost 100% slower in the fast path benchmark.
Converts between TIMESTAMPTZ
and java.time times and back.
Converts between TIMESTAMPTZ
and java.time times and back.
Oracle jar not on path at compile time (but must be a run time)
Use reflection to get access to TIMESTAMPTZ class
(Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead
Contains the abstract
JdbcProfile
and related code. This includes all JDBC-related code, facilities for Plain SQL queries, and JDBC-specific profile components.