Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Basic = RunSql Type
- newtype SqlRequest a = SqlRequest {}
- effectBasic :: (MonadEffect Basic m, FromRow a) => SqlRequest a -> m [a]
- handleBasic :: Functor m => (forall b. FromRow b => SqlRequest b -> m [b]) -> EffectHandler Basic m a -> m a
- handleBasicPsql :: MonadIO m => Connection -> EffectHandler Basic m a -> m a
- type family AllTables tables where ...
- class FromRow (AllTables ts) => AllHaveFromRowInstance ts where
- runDbStatement :: forall ts m f. (AllHaveFromRowInstance ts, MonadEffect Basic m) => DbStatement f ts -> m [DbResult ts]
- runAggregateStatement :: forall aggr m. (MonadEffect Basic m, FromRow (AggregationResult aggr)) => AggregateStatement aggr AM -> m (AggregationResult aggr)
- type family WithoutOnly a where ...
- class NoOnly a where
- runMapStatement :: forall res m f. (MonadEffect Basic m, FromRow res, NoOnly res) => DbStatement f '[res] -> m [WithoutOnly res]
- module Control.Effects
Documentation
effectBasic :: (MonadEffect Basic m, FromRow a) => SqlRequest a -> m [a] Source #
handleBasic :: Functor m => (forall b. FromRow b => SqlRequest b -> m [b]) -> EffectHandler Basic m a -> m a Source #
handleBasicPsql :: MonadIO m => Connection -> EffectHandler Basic m a -> m a Source #
Handles SQL by querying a PostgreSQL database.
class FromRow (AllTables ts) => AllHaveFromRowInstance ts where Source #
compositeToTuple :: proxy ts -> AllTables ts -> DbResult ts Source #
runDbStatement :: forall ts m f. (AllHaveFromRowInstance ts, MonadEffect Basic m) => DbStatement f ts -> m [DbResult ts] Source #
runAggregateStatement :: forall aggr m. (MonadEffect Basic m, FromRow (AggregationResult aggr)) => AggregateStatement aggr AM -> m (AggregationResult aggr) Source #
type family WithoutOnly a where ... Source #
WithoutOnly (Only a) = a | |
WithoutOnly a = a |
noOnly :: a -> WithoutOnly a Source #
runMapStatement :: forall res m f. (MonadEffect Basic m, FromRow res, NoOnly res) => DbStatement f '[res] -> m [WithoutOnly res] Source #
module Control.Effects