{-# LANGUAGE FlexibleContexts #-}
module Opaleye.SQLite.Values where
import qualified Opaleye.SQLite.Internal.QueryArr as Q
import Opaleye.SQLite.QueryArr (Query)
import Opaleye.SQLite.Internal.Values as V
import qualified Opaleye.SQLite.Internal.Unpackspec as U
import Data.Profunctor.Product.Default (Default, def)
values :: (Default V.Valuesspec columns columns,
Default U.Unpackspec columns columns) =>
[columns] -> Q.Query columns
values :: [columns] -> Query columns
values = Unpackspec columns columns
-> Valuesspec columns columns -> [columns] -> Query columns
forall columns columns'.
Unpackspec columns columns'
-> Valuesspec columns columns' -> [columns] -> Query columns'
valuesExplicit Unpackspec columns columns
forall (p :: * -> * -> *) a b. Default p a b => p a b
def Valuesspec columns columns
forall (p :: * -> * -> *) a b. Default p a b => p a b
def
valuesExplicit :: U.Unpackspec columns columns'
-> V.Valuesspec columns columns'
-> [columns] -> Query columns'
valuesExplicit :: Unpackspec columns columns'
-> Valuesspec columns columns' -> [columns] -> Query columns'
valuesExplicit Unpackspec columns columns'
unpack Valuesspec columns columns'
valuesspec [columns]
columns =
(((), Tag) -> (columns', PrimQuery, Tag)) -> Query columns'
forall a b. ((a, Tag) -> (b, PrimQuery, Tag)) -> QueryArr a b
Q.simpleQueryArr (Unpackspec columns columns'
-> Valuesspec columns columns'
-> [columns]
-> ((), Tag)
-> (columns', PrimQuery, Tag)
forall columns columns'.
Unpackspec columns columns'
-> Valuesspec columns columns'
-> [columns]
-> ((), Tag)
-> (columns', PrimQuery, Tag)
V.valuesU Unpackspec columns columns'
unpack Valuesspec columns columns'
valuesspec [columns]
columns)