| Safe Haskell | None | 
|---|
Database.Sql.Simple
- data Query
 - specify :: Backend b => proxy ((b :: *) : `[]`) -> Text -> Query -> Query
 - newtype  Only a = Only {
- fromOnly :: a
 
 - data h :. t = h :. t
 - data Sql l a
 - class Elem a as
 - class Typeable b => Backend b  where
- data ConnectInfo b
 - type ToRow b :: * -> Constraint
 - type FromRow b :: * -> Constraint
 
 - class Backend b => Transaction b
 - withConnection :: (Backend b, Elem b bs) => ConnectInfo b -> (b -> Sql bs a) -> IO a
 - connect :: Backend b => ConnectInfo b -> IO b
 - close :: Backend b => b -> IO ()
 - execute :: (ToRow b q, Backend b) => b -> Query -> q -> Sql bs ()
 - execute_ :: Backend b => b -> Query -> Sql bs ()
 - query :: (Backend b, FromRow b r, ToRow b q) => b -> Query -> q -> Sql bs [r]
 - query_ :: (FromRow b r, Backend b) => b -> Query -> Sql bs [r]
 - fold :: (Backend b, FromRow b r, ToRow b q) => b -> Query -> q -> a -> (a -> r -> IO a) -> IO a
 - fold_ :: (Backend b, FromRow b r) => b -> Query -> a -> (a -> r -> IO a) -> IO a
 - forEach :: (Backend b, FromRow b r, ToRow b q) => b -> Query -> q -> (r -> IO ()) -> IO ()
 - forEach_ :: (Backend b, FromRow b r) => b -> Query -> (r -> IO ()) -> IO ()
 - begin :: Transaction b => b -> Sql bs ()
 - commit :: Transaction b => b -> Sql bs ()
 - rollback :: Transaction b => b -> Sql bs ()
 - withTransaction :: Transaction b => b -> Sql bs a -> Sql bs a
 - sql :: proxy bs -> Sql bs a -> Sql bs a
 - (+:+) :: Proxy a -> Proxy b -> Proxy (a ++ b)
 - type family a (++) b :: [k]
 
data type
query
specify :: Backend b => proxy ((b :: *) : `[]`) -> Text -> Query -> QuerySource
add specified query string to Query.
example:
q = specify sqlite "sqlite query" "common query"
parameter
other
Instances
| MonadBase IO (Sql l) | |
| MonadBaseControl IO (Sql l) | |
| Monad (Sql l) | |
| Functor (Sql l) | |
| Applicative (Sql l) | |
| MonadThrow (Sql l) | |
| MonadCatch (Sql l) | |
| MonadMask (Sql l) | |
| MonadIO (Sql l) | 
class Typeable b => Backend b Source
Associated Types
data ConnectInfo b Source
type ToRow b :: * -> ConstraintSource
type FromRow b :: * -> ConstraintSource
class Backend b => Transaction b Source
connection
withConnection :: (Backend b, Elem b bs) => ConnectInfo b -> (b -> Sql bs a) -> IO aSource
connect :: Backend b => ConnectInfo b -> IO bSource
execute query
fold :: (Backend b, FromRow b r, ToRow b q) => b -> Query -> q -> a -> (a -> r -> IO a) -> IO aSource
transaction
begin :: Transaction b => b -> Sql bs ()Source
commit :: Transaction b => b -> Sql bs ()Source
rollback :: Transaction b => b -> Sql bs ()Source
withTransaction :: Transaction b => b -> Sql bs a -> Sql bs aSource
specify backend
sql (sqlite +:+ postgresql) $ query