Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype QueryArr a b = QueryArr ((a, PrimQuery, Tag) -> (b, PrimQuery, Tag))
- type Query = QueryArr ()
- productQueryArr :: ((a, Tag) -> (b, PrimQuery, Tag)) -> QueryArr a b
- simpleQueryArr :: ((a, Tag) -> (b, PrimQuery, Tag)) -> QueryArr a b
- runQueryArr :: QueryArr a b -> (a, PrimQuery, Tag) -> (b, PrimQuery, Tag)
- runSimpleQueryArr :: QueryArr a b -> (a, Tag) -> (b, PrimQuery, Tag)
- runSimpleQueryArrStart :: QueryArr a b -> a -> (b, PrimQuery, Tag)
- runQueryArrUnpack :: Unpackspec a b -> Query a -> ([PrimExpr], PrimQuery, Tag)
- first3 :: (a1 -> b) -> (a1, a2, a3) -> (b, a2, a3)
- type Select = SelectArr ()
- type SelectArr = QueryArr
- lateral :: (i -> Select a) -> SelectArr i a
- viaLateral :: SelectArr i a -> i -> Select a
- bind :: SelectArr i a -> (a -> SelectArr i b) -> SelectArr i b
- arrowApply :: SelectArr (SelectArr i a, i) a
Documentation
Instances
Arrow QueryArr Source # | |
Defined in Opaleye.Internal.QueryArr | |
ArrowChoice QueryArr Source # | |
Defined in Opaleye.Internal.QueryArr | |
ArrowApply QueryArr Source # | |
Defined in Opaleye.Internal.QueryArr | |
Profunctor QueryArr Source # | |
Defined in Opaleye.Internal.QueryArr | |
ProductProfunctor QueryArr Source # | |
Monad (QueryArr a) Source # | |
Functor (QueryArr a) Source # | |
Applicative (QueryArr a) Source # | |
Defined in Opaleye.Internal.QueryArr | |
Category QueryArr Source # | |
simpleQueryArr :: ((a, Tag) -> (b, PrimQuery, Tag)) -> QueryArr a b Source #
Deprecated: Use productQueryArr
instead. Its name indicates better what it actually does
runQueryArrUnpack :: Unpackspec a b -> Query a -> ([PrimExpr], PrimQuery, Tag) Source #
type Select = SelectArr () Source #
A SELECT
, i.e. an SQL query which produces a collection of
rows.
Select a
is analogous to a Haskell value [a]
.
type SelectArr = QueryArr Source #
A parametrised Select
. A SelectArr a b
accepts an argument
of type a
.
SelectArr a b
is analogous to a Haskell function a -> [b]
.
viaLateral :: SelectArr i a -> i -> Select a Source #
arrowApply :: SelectArr (SelectArr i a, i) a Source #