Package

slick

jdbc

Permalink

package jdbc

Contains the abstract JdbcProfile and related code. This includes all JDBC-related code, facilities for Plain SQL queries, and JDBC-specific profile components.

Source
package.scala
Linear Supertypes
AnyRef, Any
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. jdbc
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class ActionBasedSQLInterpolation extends AnyVal

    Permalink
  2. class BaseResultConverter[T] extends ResultConverter[JdbcResultConverterDomain, T]

    Permalink

    Specialized JDBC ResultConverter for non-Option values.

  3. class ConnectionPreparer extends (Connection) ⇒ Unit

    Permalink

    Set parameters on a new Connection.

    Set parameters on a new Connection. This is used by DataSourceJdbcDataSource.

  4. trait DB2Profile extends JdbcProfile

    Permalink

    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).

  5. class DataSourceJdbcDataSource extends JdbcDataSource

    Permalink

    A JdbcDataSource for a DataSource

  6. class DatabaseUrlDataSource extends DriverDataSource

    Permalink

    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.

  7. class DefaultingResultConverter[T] extends ResultConverter[JdbcResultConverterDomain, T]

    Permalink

    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.

  8. trait DerbyProfile extends JdbcProfile

    Permalink

    Slick profile for Derby/JavaDB.

    Slick profile for Derby/JavaDB.

    This profile implements slick.jdbc.JdbcProfile without the following capabilities:

  9. class DriverDataSource extends DataSource with Closeable with Logging

    Permalink

    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.

  10. trait GetResult[+T] extends (PositionedResult) ⇒ T

    Permalink

    Basic conversions for extracting values from PositionedResults.

  11. class GetTupleResult[+T <: Product] extends GetResult[T]

    Permalink

    GetResult for tuple types.

  12. trait H2Profile extends JdbcProfile

    Permalink

    Slick profile for H2.

    Slick profile for H2.

    This profile implements slick.jdbc.JdbcProfile without the following capabilities:

  13. trait HsqldbProfile extends JdbcProfile

    Permalink

    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:

    • slick.sql.SqlCapabilities.sequenceCurr: 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.
    • slick.jdbc.JdbcCapabilities.insertOrUpdate: InsertOrUpdate operations are emulated on the client side if generated keys should be returned. Otherwise the operation is performmed natively on the server side.
  14. class InsertBuilderResult extends AnyRef

    Permalink
  15. trait Invoker[+R] extends AnyRef

    Permalink

    Base trait for all statement invokers of result element type R.

  16. class IsDefinedResultConverter[T] extends ResultConverter[JdbcResultConverterDomain, Boolean]

    Permalink

    Specialized JDBC ResultConverter for handling isDefined checks for Option values.

  17. trait JdbcActionComponent extends SqlActionComponent

    Permalink
  18. trait JdbcBackend extends RelationalBackend

    Permalink

    A JDBC-based database back-end that is used by slick.jdbc.JdbcProfile.

  19. trait JdbcDataSource extends Closeable

    Permalink

    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.

  20. trait JdbcDataSourceFactory extends AnyRef

    Permalink

    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.

  21. trait JdbcInvokerComponent extends AnyRef

    Permalink
  22. trait JdbcMappingCompilerComponent extends AnyRef

    Permalink

    JDBC profile component which contains the mapping compiler and insert compiler

  23. class JdbcModelBuilder extends Logging

    Permalink

    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.

  24. trait JdbcModelComponent extends AnyRef

    Permalink
  25. trait JdbcProfile extends SqlProfile with JdbcActionComponent with JdbcInvokerComponent with JdbcTypesComponent with JdbcModelComponent with JdbcStatementBuilderComponent with JdbcMappingCompilerComponent

    Permalink

    Abstract profile for accessing SQL databases via JDBC.

  26. trait JdbcResultConverterDomain extends ResultConverterDomain

    Permalink
  27. trait JdbcStatementBuilderComponent extends AnyRef

    Permalink
  28. trait JdbcType[T] extends BaseTypedType[T]

    Permalink

    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.

  29. trait JdbcTypesComponent extends RelationalTypesComponent

    Permalink
  30. class LoggingPreparedStatement extends LoggingStatement with PreparedStatement

    Permalink

    A wrapper for java.sql.PreparedStatement that logs statements, parameters and benchmark results to the appropriate JdbcBackend loggers.

  31. class LoggingStatement extends Statement

    Permalink

    A wrapper for java.sql.Statement that logs statements and benchmark results to the appropriate JdbcBackend loggers.

  32. trait MySQLProfile extends JdbcProfile

    Permalink

    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.

  33. class OptionResultConverter[T] extends ResultConverter[JdbcResultConverterDomain, Option[T]]

    Permalink

    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.

  34. trait OracleProfile extends JdbcProfile

    Permalink

    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.

  35. class PositionedParameters extends AnyRef

    Permalink

    A wrapper for a JDBC PreparedStatement which allows inceremental setting of parameters without having to sepcify the column index each time.

  36. abstract class PositionedResult extends Closeable

    Permalink

    A database result positioned at a row and column.

  37. abstract class PositionedResultIterator[+T] extends ReadAheadIterator[T] with CloseableIterator[T]

    Permalink

    An CloseableIterator for a PositionedResult.

  38. trait PostgresProfile extends JdbcProfile

    Permalink

    Slick profile for PostgreSQL.

    Slick profile for PostgreSQL.

    This profile implements slick.jdbc.JdbcProfile without the following capabilities:

    • slick.jdbc.JdbcCapabilities.insertOrUpdate: InsertOrUpdate operations are emulated on the server side with a single JDBC statement executing multiple server-side statements in a transaction. This is faster than a client-side emulation but may still fail due to concurrent updates. InsertOrUpdate operations with returning are emulated on the client side.
    • slick.jdbc.JdbcCapabilities.nullableNoDefault: Nullable columns always have NULL as a default according to the SQL standard. Consequently Postgres treats no specifying a default value just as specifying NULL and reports NULL as the default value. Some other dbms treat queries with no default as NULL default, but distinguish NULL from no default value in the meta data.
    • slick.jdbc.JdbcCapabilities.supportsByte: Postgres doesn't have a corresponding type for Byte. SMALLINT is used instead and mapped to Short in the Slick model.

    Notes:

  39. class ProtectGroupBy extends Phase

    Permalink

    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.

  40. sealed abstract class ResultSetConcurrency extends AnyRef

    Permalink

    Represents a result set concurrency mode.

  41. sealed abstract class ResultSetHoldability extends AnyRef

    Permalink

    Represents a result set holdability mode .

  42. abstract class ResultSetInvoker[+R] extends Invoker[R]

    Permalink

    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.

  43. trait ResultSetMutator[T] extends AnyRef

    Permalink
  44. sealed abstract class ResultSetType extends AnyRef

    Permalink

    Represents a result set type.

  45. case class SQLActionBuilder(queryParts: Seq[Any], unitPConv: SetParameter[Unit]) extends Product with Serializable

    Permalink
  46. trait SQLServerProfile extends JdbcProfile

    Permalink

    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.

  47. trait SQLiteProfile extends JdbcProfile

    Permalink

    Slick profile for SQLite.

    Slick profile for SQLite.

    This profile implements slick.jdbc.JdbcProfile without the following capabilities:

  48. trait SetParameter[-T] extends (T, PositionedParameters) ⇒ Unit

    Permalink

    Basic conversions for setting parameters in PositionedParameters.

  49. class SetTupleParameter[-T <: Product] extends SetParameter[T]

    Permalink

    SetParameter for tuple types.

  50. case class SimpleJdbcAction[+R](f: (JdbcActionContext) ⇒ R) extends SynchronousDatabaseAction[R, NoStream, JdbcBackend, All] with Product with Serializable

    Permalink

    A non-streaming Action that wraps a JDBC call.

  51. abstract class StatementInvoker[+R] extends Invoker[R]

    Permalink

    An invoker which executes an SQL statement through JDBC.

  52. trait StreamingInvokerAction[R, T, -E <: Effect] extends SynchronousDatabaseAction[R, Streaming[T], JdbcBackend, E] with FixedSqlStreamingAction[R, T, E]

    Permalink

    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.

  53. sealed abstract class TransactionIsolation extends AnyRef

    Permalink

    Represents a transaction isolation level.

  54. trait DriverBasedJdbcDataSource extends JdbcDataSource

    Permalink

    A JdbcDataSource which can load a JDBC Driver from a class name

    A JdbcDataSource which can load a JDBC Driver from a class name

    Annotations
    @deprecated
    Deprecated

    (Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead

  55. class DriverJdbcDataSource extends DriverBasedJdbcDataSource

    Permalink

    A JdbcDataSource for lookup via a Driver or the DriverManager

    A JdbcDataSource for lookup via a Driver or the DriverManager

    Annotations
    @deprecated
    Deprecated

    (Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead

Value Members

  1. object ActionBasedSQLInterpolation

    Permalink
  2. object DB2Profile extends DB2Profile

    Permalink
  3. object DataSourceJdbcDataSource extends JdbcDataSourceFactory

    Permalink
  4. object DerbyProfile extends DerbyProfile

    Permalink
  5. object GetResult

    Permalink
  6. object H2Profile extends H2Profile

    Permalink
  7. object HsqldbProfile extends HsqldbProfile

    Permalink
  8. object JdbcBackend extends JdbcBackend

    Permalink
  9. object JdbcCapabilities

    Permalink

    Capabilities for slick.jdbc.JdbcProfile.

  10. object JdbcDataSource extends Logging

    Permalink
  11. object JdbcTypesComponent

    Permalink
  12. object MySQLProfile extends MySQLProfile

    Permalink
  13. object OracleProfile extends OracleProfile

    Permalink
  14. object PGUtils

    Permalink
  15. object PostgresProfile extends PostgresProfile

    Permalink
  16. object ResultSetAction

    Permalink
  17. object ResultSetConcurrency

    Permalink
  18. object ResultSetHoldability

    Permalink
  19. object ResultSetInvoker

    Permalink
  20. object ResultSetType

    Permalink
  21. object SQLServerProfile extends SQLServerProfile

    Permalink
  22. object SQLiteProfile extends SQLiteProfile

    Permalink
  23. object SetParameter

    Permalink
  24. object SpecializedJdbcResultConverter

    Permalink

    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.

  25. object TimestamptzConverter

    Permalink

    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

  26. object TransactionIsolation

    Permalink
  27. package meta

    Permalink

Deprecated Value Members

  1. object DriverJdbcDataSource extends JdbcDataSourceFactory

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1) Use DataSourceJdbcDataSource with DriverDataSource instead

Inherited from AnyRef

Inherited from Any

Ungrouped