Packages

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

Package Members

  1. package meta

Type Members

  1. final class ActionBasedSQLInterpolation extends AnyVal
  2. class BaseResultConverter[T] extends ResultConverter[ResultSet, PreparedStatement, ResultSet, T]

    Specialized JDBC ResultConverter for non-Option values.

  3. class ConnectionPreparer extends (Connection) => Unit

    Set parameters on a new Connection.

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

  4. trait DB2Profile extends JdbcProfile with MultipleRowsPerStatementSupport

    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

    A JdbcDataSource for a DataSource

  6. class DatabaseUrlDataSource extends DriverDataSource

    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[ResultSet, PreparedStatement, ResultSet, T]

    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 with MultipleRowsPerStatementSupport

    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

    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

    Basic conversions for extracting values from PositionedResults.

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

    GetResult for tuple types.

  12. trait H2Profile extends JdbcProfile with MultipleRowsPerStatementSupport

    Slick profile for H2.

    Slick profile for H2.

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

  13. trait HsqldbProfile extends JdbcProfile with MultipleRowsPerStatementSupport

    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 performed natively on the server side.
  14. class InsertBuilderResult extends AnyRef
  15. trait Invoker[+R] extends AnyRef

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

  16. class IsDefinedResultConverter[T] extends ResultConverter[ResultSet, PreparedStatement, ResultSet, Boolean]

    Specialized JDBC ResultConverter for handling isDefined checks for Option values.

  17. trait JdbcActionComponent extends SqlActionComponent
  18. trait JdbcBackend extends RelationalBackend

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

  19. trait JdbcDataSource extends Closeable

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

    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
  22. trait JdbcMappingCompilerComponent extends AnyRef

    JDBC profile component which contains the mapping compiler and insert compiler

  23. class JdbcModelBuilder extends Logging

    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
  25. trait JdbcProfile extends SqlProfile with JdbcActionComponent with JdbcInvokerComponent with JdbcTypesComponent with JdbcModelComponent with JdbcStatementBuilderComponent with JdbcMappingCompilerComponent

    Abstract profile for accessing SQL databases via JDBC.

  26. trait JdbcStatementBuilderComponent extends AnyRef
  27. trait JdbcType[T] extends BaseTypedType[T]

    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.

  28. trait JdbcTypesComponent extends RelationalTypesComponent
  29. class LoggingPreparedStatement extends LoggingStatement with PreparedStatement

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

  30. class LoggingStatement extends Statement

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

  31. trait MySQLProfile extends JdbcProfile with MultipleRowsPerStatementSupport

    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.

  32. class OptionResultConverter[T] extends ResultConverter[ResultSet, PreparedStatement, ResultSet, Option[T]]

    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.

  33. trait OracleProfile extends JdbcProfile

    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.

  34. class PositionedParameters extends AnyRef

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

  35. abstract class PositionedResult extends Closeable

    A database result positioned at a row and column.

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

    An CloseableIterator for a PositionedResult.

  37. trait PostgresProfile extends JdbcProfile with MultipleRowsPerStatementSupport

    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:

  38. class ProtectGroupBy extends Phase

    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.

  39. sealed abstract class ResultSetConcurrency extends AnyRef

    Represents a result set concurrency mode.

  40. sealed abstract class ResultSetHoldability extends AnyRef

    Represents a result set holdability mode .

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

    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.

  42. trait ResultSetMutator[T] extends AnyRef
  43. sealed abstract class ResultSetType extends AnyRef

    Represents a result set type.

  44. sealed trait RowsPerStatement extends AnyRef
  45. case class SQLActionBuilder(sql: String, setParameter: SetParameter[Unit]) extends Product with Serializable
  46. trait SQLServerProfile extends JdbcProfile with MultipleRowsPerStatementSupport

    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 with MultipleRowsPerStatementSupport

    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

    Basic conversions for setting parameters in PositionedParameters.

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

    SetParameter for tuple types.

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

    A non-streaming Action that wraps a JDBC call.

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

    An invoker which executes an SQL statement through JDBC.

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

    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

    Represents a transaction isolation level.

  54. class TypedParameter[T] extends AnyRef

Value Members

  1. object DB2Profile extends DB2Profile
  2. object DataSourceJdbcDataSource extends JdbcDataSourceFactory
  3. object DerbyProfile extends DerbyProfile
  4. object GetResult
  5. object H2Profile extends H2Profile
  6. object HsqldbProfile extends HsqldbProfile
  7. object JdbcActionComponent
  8. object JdbcBackend extends JdbcBackend
  9. object JdbcCapabilities

    Capabilities for slick.jdbc.JdbcProfile.

  10. object JdbcDataSource extends Logging
  11. object JdbcTypesComponent
  12. object MySQLProfile extends MySQLProfile
  13. object OracleProfile extends OracleProfile with OneRowPerStatementOnly
  14. object PGUtils
  15. object PostgresProfile extends PostgresProfile
  16. object ResultSetAction
  17. object ResultSetConcurrency
  18. object ResultSetHoldability
  19. object ResultSetInvoker
  20. object ResultSetType
  21. object RowsPerStatement
  22. object SQLActionBuilder extends Serializable
  23. object SQLServerProfile extends SQLServerProfile
  24. object SQLiteProfile extends SQLiteProfile
  25. object SetParameter
  26. object SpecializedJdbcResultConverter

    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.

  27. object TimestamptzConverter

    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

  28. object TransactionIsolation
  29. object TypedParameter

Inherited from AnyRef

Inherited from Any

Ungrouped