Copyright | 2013 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
This module provides typed statement running sequence which intermediate structres are typed.
- data PreparedStatement p a
- untypePrepared :: PreparedStatement p a -> Statement
- unsafePrepare :: IConnection conn => conn -> String -> IO (PreparedStatement p a)
- data BoundStatement a = BoundStatement {}
- bind' :: RecordToSql SqlValue p -> PreparedStatement p a -> p -> BoundStatement a
- bind :: ToSql SqlValue p => PreparedStatement p a -> p -> BoundStatement a
- bindTo :: ToSql SqlValue p => p -> PreparedStatement p a -> BoundStatement a
- data ExecutedStatement a
- executed :: ExecutedStatement a -> Statement
- result :: ExecutedStatement a -> Integer
- execute :: BoundStatement a -> IO (ExecutedStatement a)
- prepareNoFetch :: (UntypeableNoFetch s, IConnection conn) => conn -> s p -> IO (PreparedStatement p ())
- executeNoFetch :: BoundStatement () -> IO Integer
- runPreparedNoFetch :: ToSql SqlValue a => PreparedStatement a () -> a -> IO Integer
- runNoFetch :: (UntypeableNoFetch s, IConnection conn, ToSql SqlValue a) => conn -> s a -> a -> IO Integer
- mapNoFetch :: (UntypeableNoFetch s, IConnection conn, ToSql SqlValue a) => conn -> s a -> [a] -> IO [Integer]
Documentation
data PreparedStatement p a Source
Typed prepared statement type.
untypePrepared :: PreparedStatement p a -> Statement Source
Unsafely untype prepared statement.
:: IConnection conn | |
=> conn | Database connection |
-> String | Raw SQL String |
-> IO (PreparedStatement p a) | Result typed prepared query with parameter type |
Run prepare and unsafely make Typed prepared statement.
data BoundStatement a Source
Typed prepared statement which has bound placeholder parameters.
:: RecordToSql SqlValue p | Proof object to convert from parameter type |
-> PreparedStatement p a | Prepared query to bind to |
-> p | Parameter to bind |
-> BoundStatement a | Result parameter bound statement |
Typed operation to bind parameters.
bind :: ToSql SqlValue p => PreparedStatement p a -> p -> BoundStatement a Source
Typed operation to bind parameters. Infered RecordToSql
is used.
bindTo :: ToSql SqlValue p => p -> PreparedStatement p a -> BoundStatement a Source
Same as bind
except for argument is flipped.
data ExecutedStatement a Source
Typed executed statement.
executed :: ExecutedStatement a -> Statement Source
Untyped executed statement.
result :: ExecutedStatement a -> Integer Source
Result of HDBC execute.
execute :: BoundStatement a -> IO (ExecutedStatement a) Source
Typed execute operation.
prepareNoFetch :: (UntypeableNoFetch s, IConnection conn) => conn -> s p -> IO (PreparedStatement p ()) Source
Generalized prepare inferred from UntypeableNoFetch
instance.
executeNoFetch :: BoundStatement () -> IO Integer Source
Typed execute operation. Only get result.
runPreparedNoFetch :: ToSql SqlValue a => PreparedStatement a () -> a -> IO Integer Source
Bind parameters, execute statement and get execution result.
runNoFetch :: (UntypeableNoFetch s, IConnection conn, ToSql SqlValue a) => conn -> s a -> a -> IO Integer Source
Prepare and run sequence for polymorphic no-fetch statement.
mapNoFetch :: (UntypeableNoFetch s, IConnection conn, ToSql SqlValue a) => conn -> s a -> [a] -> IO [Integer] Source
Prepare and run it against each parameter list.