Safe Haskell | Safe-Infered |
---|
- data SqlQuery a
- data SqlExpr a
- select :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m [r]
- selectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)
- selectDistinct :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m [r]
- selectDistinctSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)
- rawSelectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => Mode -> SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)
- runSource :: MonadResourceBase m => Source (ResourceT (SqlPersist m)) r -> SqlPersist m [r]
- rawExecute :: (MonadLogger m, MonadResourceBase m) => Mode -> SqlQuery () -> SqlPersist m ()
- delete :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersist m ()
- update :: (MonadLogger m, MonadResourceBase m, PersistEntity val, PersistEntityBackend val ~ SqlPersist) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersist m ()
- toRawSql :: SqlSelect a r => Mode -> Escape -> SqlQuery a -> (Builder, [PersistValue])
- data Mode
- = SELECT
- | SELECT_DISTINCT
- | DELETE
- | UPDATE
Documentation
SQL backend for esqueleto
using SqlPersist
.
An expression on the SQL backend.
Esqueleto SqlQuery SqlExpr SqlPersist | |
PersistEntity a => SqlSelect (SqlExpr (Maybe (Entity a))) (Maybe (Entity a)) | |
PersistEntity a => SqlSelect (SqlExpr (Entity a)) (Entity a) | |
PersistField a => SqlSelect (SqlExpr (Value a)) (Value a) |
select :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m [r]Source
Execute an esqueleto
SELECT
query inside persistent
's
SqlPersist
monad and return a list of rows.
selectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)Source
Execute an esqueleto
SELECT
query inside persistent
's
SqlPersist
monad and return a Source
of rows.
selectDistinct :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m [r]Source
Execute an esqueleto
SELECT DISTINCT
query inside
persistent
's SqlPersist
monad and return a list of rows.
selectDistinctSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)Source
Execute an esqueleto
SELECT DISTINCT
query inside
persistent
's SqlPersist
monad and return a Source
of
rows.
rawSelectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => Mode -> SqlQuery a -> SqlPersist m (Source (ResourceT (SqlPersist m)) r)Source
(Internal) Execute an esqueleto
SELECT
SqlQuery
inside
persistent
's SqlPersist
monad.
runSource :: MonadResourceBase m => Source (ResourceT (SqlPersist m)) r -> SqlPersist m [r]Source
Runs a Source
of rows.
rawExecute :: (MonadLogger m, MonadResourceBase m) => Mode -> SqlQuery () -> SqlPersist m ()Source
(Internal) Execute an esqueleto
statement inside
persistent
's SqlPersist
monad.
delete :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersist m ()Source
Execute an esqueleto
DELETE
query inside persistent
's
SqlPersist
monad. Note that currently there are no type
checks for statements that should not appear on a DELETE
query.
Example of usage:
delete $ from $ \appointment -> where_ (appointment ^. AppointmentDate <. val now)
update :: (MonadLogger m, MonadResourceBase m, PersistEntity val, PersistEntityBackend val ~ SqlPersist) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersist m ()Source
Execute an esqueleto
UPDATE
query inside persistent
's
SqlPersist
monad. Note that currently there are no type
checks for statements that should not appear on a UPDATE
query.
Example of usage:
update $ p -> do set p [ PersonAge =. just (val thisYear) -. p ^. PersonBorn ] where_ $ isNull (p ^. PersonAge)