{-# language FlexibleContexts #-}
{-# language MonoLocalBinds #-}
module Rel8.Query.Each
( each
)
where
import Prelude
import qualified Opaleye.Table as Opaleye
import Rel8.Query ( Query )
import Rel8.Query.Opaleye ( fromOpaleye )
import Rel8.Schema.Name ( Selects )
import Rel8.Schema.Table ( TableSchema )
import Rel8.Table.Cols ( fromCols, toCols )
import Rel8.Table.Opaleye ( table, unpackspec )
each :: Selects names exprs => TableSchema names -> Query exprs
each :: forall names exprs.
Selects names exprs =>
TableSchema names -> Query exprs
each =
forall (f :: Context) a b. Functor f => (a -> b) -> f a -> f b
fmap forall (context :: Context) a.
Table context a =>
Cols context (Columns a) -> a
fromCols forall b c a. (b -> c) -> (a -> b) -> a -> c
.
forall a. Select a -> Query a
fromOpaleye forall b c a. (b -> c) -> (a -> b) -> a -> c
.
forall tablefields fields a.
Unpackspec tablefields fields
-> Table a tablefields -> Select fields
Opaleye.selectTableExplicit forall a. Table Expr a => Unpackspec a a
unpackspec forall b c a. (b -> c) -> (a -> b) -> a -> c
.
forall names exprs.
Selects names exprs =>
TableSchema names -> Table exprs exprs
table forall b c a. (b -> c) -> (a -> b) -> a -> c
.
forall (f :: Context) a b. Functor f => (a -> b) -> f a -> f b
fmap forall (context :: Context) a.
Table context a =>
a -> Cols context (Columns a)
toCols