Packages

  • package root
    Definition Classes
    root
  • package doobie

    Top-level import, providing aliases for the most commonly used types and modules from doobie-free and doobie-core.

    Top-level import, providing aliases for the most commonly used types and modules from doobie-free and doobie-core. A typical starting set of imports would be something like this.

    import cats.implicits._
    import doobie._, doobie.implicits._
    Definition Classes
    root
    See also

    The doobie microsite for much more information.

  • package util

    Collection of modules for typeclasses and other helpful bits.

    Collection of modules for typeclasses and other helpful bits.

    Definition Classes
    doobie
  • object meta

    Module defining the lowest level of column mapping.

    Module defining the lowest level of column mapping.

    Definition Classes
    util
  • AdvancedMeta
  • BasicMeta
  • LowPriorityImplicits
  • Meta
  • MetaInstances

sealed abstract class Meta[A] extends AnyRef

Metadata defining the column-level mapping to and from Scala type A. A given Scala type might be read from or written to columns with a variety of JDBC and/or vendor-specific types, depending on supported coercions and luck.

Reading and writing values to JDBC is asymmetric with respect to null, is complicated by unboxed types, and is not consistent with idiomatic Scala; so some discussion is required. Scala values should never be null. Setting a NULL JDBC value is accomplished via the setNull operation. Similarly when getting a JDBC value we must subsequently ask .wasNull on the JDBC resource and decide how to handle the value. The Atom typeclass takes care of mapping nullable values to Option so these issues should not be a concern for casual users.

Annotations
@implicitNotFound( ... )
Source
meta.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Meta
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def fold[B](f: (BasicMeta[A]) ⇒ B, g: (AdvancedMeta[A]) ⇒ B): B

    Switch on the flavor of this Meta.

  2. abstract def jdbcSource: NonEmptyList[JdbcType]

    Source JDBC types from which values of type A can be read.

  3. abstract def jdbcTarget: NonEmptyList[JdbcType]

    Destination JDBC types to which values of type A can be written.

  4. abstract def scalaType: String

    Name of the Scala type, for diagnostic purposes.

    Name of the Scala type, for diagnostic purposes. Smart constructors require a TypeTag to guarantee this value is correct.

  5. abstract def xmap[B](f: (A) ⇒ B, g: (B) ⇒ A)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[B]): Meta[B]

    Invariant map.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def unsafeGetNonNullable(rs: ResultSet, n: Int): A
  18. final def unsafeGetNullable(rs: ResultSet, n: Int): Option[A]
  19. final def unsafeSetNonNullable(ps: PreparedStatement, n: Int, a: A): Unit
    Annotations
    @SuppressWarnings()
  20. final def unsafeSetNull(ps: PreparedStatement, n: Int): Unit
  21. final def unsafeSetNullable(ps: PreparedStatement, n: Int, oa: Option[A]): Unit
  22. final def unsafeUpdateNonNullable(rs: ResultSet, n: Int, a: A): Unit
    Annotations
    @SuppressWarnings()
  23. final def unsafeUpdateNullable(rs: ResultSet, n: Int, oa: Option[A]): Unit
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def nxmap[B >: Null](f: (A) ⇒ B, g: (B) ⇒ A)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[B], ev: <:<[Null, A]): Meta[B]

    Invariant map with null handling, for A, B >: Null; the functions f and g will never be passed a null value.

    Invariant map with null handling, for A, B >: Null; the functions f and g will never be passed a null value.

    Annotations
    @deprecated
    Deprecated

    (Since version 0.4.2) Null is no longer observable here; just use xmap.

Inherited from AnyRef

Inherited from Any

Ungrouped