opaleye-0.6.7005.0: An SQL-generating DSL targeting PostgreSQL

Safe HaskellNone
LanguageHaskell2010

Opaleye.Values

Contents

Synopsis

Documentation

valuesSafe :: Default ValuesspecSafe fields fields => [fields] -> Select fields Source #

valuesSafe implements Postgres's VALUES construct and allows you to create a SELECT that consists of the given rows.

Example type specialization:

valuesSafe :: [(Field a, Field b)] -> Select (Field a, Field b)

Assuming the makeAdaptorAndInstance splice has been run for the product type Foo:

valuesSafe :: [Foo (Field a) (Field b) (Field c)] -> S.Select (Foo (Field a) (Field b) (Field c))

Explicit versions

valuesExplicit :: Unpackspec fields fields' -> Valuesspec fields fields' -> [fields] -> Select fields' Source #

valuesSafeExplicit :: ValuesspecSafe fields fields' -> [fields] -> Select fields' Source #

valuesUnsafeExplicit :: Unpackspec fields fields' -> Valuesspec fields fields' -> [fields] -> Select fields' Source #

Forward compatible version of unsafe valuesExplicit that will not be deprecated in 0.7, but in 0.8.

Adaptors

data ValuesspecSafe columns columns' Source #

Instances
Profunctor ValuesspecSafe Source # 
Instance details

Defined in Opaleye.Internal.Values

Methods

dimap :: (a -> b) -> (c -> d) -> ValuesspecSafe b c -> ValuesspecSafe a d #

lmap :: (a -> b) -> ValuesspecSafe b c -> ValuesspecSafe a c #

rmap :: (b -> c) -> ValuesspecSafe a b -> ValuesspecSafe a c #

(#.) :: Coercible c b => q b c -> ValuesspecSafe a b -> ValuesspecSafe a c #

(.#) :: Coercible b a => ValuesspecSafe b c -> q a b -> ValuesspecSafe a c #

ProductProfunctor ValuesspecSafe Source # 
Instance details

Defined in Opaleye.Internal.Values

Methods

purePP :: b -> ValuesspecSafe a b #

(****) :: ValuesspecSafe a (b -> c) -> ValuesspecSafe a b -> ValuesspecSafe a c #

empty :: ValuesspecSafe () () #

(***!) :: ValuesspecSafe a b -> ValuesspecSafe a' b' -> ValuesspecSafe (a, a') (b, b') #

IsSqlType a => Default ValuesspecSafe (Column a) (Column a) Source # 
Instance details

Defined in Opaleye.Internal.Values

Methods

def :: ValuesspecSafe (Column a) (Column a) #

Default ValuesspecSafe a b => Default ValuesspecSafe (MaybeFields a) (MaybeFields b) Source # 
Instance details

Defined in Opaleye.Internal.MaybeFields

Functor (ValuesspecSafe a) Source # 
Instance details

Defined in Opaleye.Internal.Values

Methods

fmap :: (a0 -> b) -> ValuesspecSafe a a0 -> ValuesspecSafe a b #

(<$) :: a0 -> ValuesspecSafe a b -> ValuesspecSafe a a0 #

Applicative (ValuesspecSafe a) Source # 
Instance details

Defined in Opaleye.Internal.Values

Methods

pure :: a0 -> ValuesspecSafe a a0 #

(<*>) :: ValuesspecSafe a (a0 -> b) -> ValuesspecSafe a a0 -> ValuesspecSafe a b #

liftA2 :: (a0 -> b -> c) -> ValuesspecSafe a a0 -> ValuesspecSafe a b -> ValuesspecSafe a c #

(*>) :: ValuesspecSafe a a0 -> ValuesspecSafe a b -> ValuesspecSafe a b #

(<*) :: ValuesspecSafe a a0 -> ValuesspecSafe a b -> ValuesspecSafe a a0 #

Deprecated versions

values :: (Default Valuesspec fields fields, Default Unpackspec fields fields) => [fields] -> Select fields Source #

Please note that values of an empty list generates incorrect queries when mixed with OUTER/LEFT/RIGHT JOIN. You should use valuesSafe instead. valuesSafe will replace values in version 0.7.

valuesUnsafe :: (Default Valuesspec fields fields, Default Unpackspec fields fields) => [fields] -> Select fields Source #

Forward-compatible version of unsafe values that will not be deprecated in 0.7, but in 0.8.