Safe Haskell | None |
---|
Database.Sql.Simple.Internal
- data Query = Query Text (HashMap TypeRep Text)
- newtype Sql l a = Sql {}
- getQuery :: TypeRep -> Query -> Text
- newtype Only a = Only {
- fromOnly :: a
- data h :. t = h :. t
- class Elem a as
- withConnection :: (Backend b, Elem b bs) => ConnectInfo b -> (b -> Sql bs a) -> IO a
- sql :: proxy bs -> Sql bs a -> Sql bs a
- class Typeable b => Backend b where
- data ConnectInfo b
- type ToRow b :: * -> Constraint
- type FromRow b :: * -> Constraint
- connect :: ConnectInfo b -> IO b
- close :: b -> IO ()
- execute :: ToRow b q => b -> Query -> q -> Sql c ()
- execute_ :: b -> Query -> Sql c ()
- query :: (FromRow b r, ToRow b q) => b -> Query -> q -> Sql c [r]
- query_ :: FromRow b r => b -> Query -> Sql c [r]
- fold :: (FromRow b r, ToRow b q) => b -> Query -> q -> a -> (a -> r -> IO a) -> IO a
- fold_ :: FromRow b r => b -> Query -> a -> (a -> r -> IO a) -> IO a
- forEach :: (FromRow b r, ToRow b q) => b -> Query -> q -> (r -> IO ()) -> IO ()
- forEach_ :: FromRow b r => b -> Query -> (r -> IO ()) -> IO ()
- begin :: b -> Sql c ()
- commit :: b -> Sql c ()
- rollback :: b -> Sql c ()
- withTransaction :: b -> Sql c a -> Sql c a
- type family a (++) b :: [k]
- (+:+) :: Proxy a -> Proxy b -> Proxy (a ++ b)
- specify :: Backend b => proxy ((b :: *) : `[]`) -> Text -> Query -> Query
Documentation
Instances
Monad (Sql l) | |
Functor (Sql l) | |
Applicative (Sql l) | |
MonadThrow (Sql l) | |
MonadCatch (Sql l) | |
MonadMask (Sql l) | |
MonadIO (Sql l) |
withConnection :: (Backend b, Elem b bs) => ConnectInfo b -> (b -> Sql bs a) -> IO aSource
class Typeable b => Backend b whereSource
Associated Types
data ConnectInfo b Source
type ToRow b :: * -> ConstraintSource
type FromRow b :: * -> ConstraintSource
Methods
connect :: ConnectInfo b -> IO bSource
execute :: ToRow b q => b -> Query -> q -> Sql c ()Source
execute_ :: b -> Query -> Sql c ()Source
query :: (FromRow b r, ToRow b q) => b -> Query -> q -> Sql c [r]Source
query_ :: FromRow b r => b -> Query -> Sql c [r]Source
fold :: (FromRow b r, ToRow b q) => b -> Query -> q -> a -> (a -> r -> IO a) -> IO aSource
fold_ :: FromRow b r => b -> Query -> a -> (a -> r -> IO a) -> IO aSource
forEach :: (FromRow b r, ToRow b q) => b -> Query -> q -> (r -> IO ()) -> IO ()Source
forEach_ :: FromRow b r => b -> Query -> (r -> IO ()) -> IO ()Source
rollback :: b -> Sql c ()Source
withTransaction :: b -> Sql c a -> Sql c aSource