All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scoobie.doobie.doo.postgres.scala Maven / Gradle / Ivy

The newest version!
package scoobie.doobie.doo

import doobie.imports._
import scoobie.coercion.Coerce
import scoobie.doobie.doo.ansi.SqlInterpreter.LiteralQueryString
import scoobie.doobie.doo.ansi._
import scoobie.doobie.{DoobieSqlInterpreter, DoobieSupport, ScoobieFragmentProducer}

/**
  * Created by jbarber on 5/20/16.
  */
object postgres extends DoobieSupport {

  implicit val fragmentLifter =
    new SqlQueryLifter[ScoobieFragmentProducer, Fragment] {
      def liftValue[A](a: A, fa: ScoobieFragmentProducer[A]): Fragment = fa.genFragment(a)
    }

  implicit val scoobieFragmentProducerForLiteralQueryString: ScoobieFragmentProducer[LiteralQueryString] =
    ScoobieFragmentProducer[LiteralQueryString](s => new StringContext(s.s).fr0.apply())

  val interpreter: SqlInterpreter[ScoobieFragmentProducer, Fragment] = SqlInterpreter[ScoobieFragmentProducer, Fragment]("\"")

  implicit val doobieInterpreter = DoobieSqlInterpreter(interpreter.interpretSql(_))
  implicit val coercetoScoobieFragmentProducer: Coerce[ScoobieFragmentProducer] = scoobie.doobie.doobieCoercer
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy