module Database.HDBC.Record.Delete (
PreparedDelete, prepare, prepareDelete, withPrepareDelete,
runPreparedDelete, runDelete
) where
import Database.HDBC (IConnection, SqlValue)
import Database.Relational.Query (Delete)
import Database.Record (ToSql)
import Database.HDBC.Record.Statement
(prepareNoFetch, withPrepareNoFetch, PreparedStatement, runPreparedNoFetch, runNoFetch)
type PreparedDelete p = PreparedStatement p ()
prepare :: IConnection conn
=> conn
-> Delete p
-> IO (PreparedDelete p)
prepare = prepareNoFetch
prepareDelete :: IConnection conn
=> conn
-> Delete p
-> IO (PreparedDelete p)
prepareDelete = prepare
withPrepareDelete :: IConnection conn
=> conn
-> Delete p
-> (PreparedDelete p -> IO a)
-> IO a
withPrepareDelete = withPrepareNoFetch
runPreparedDelete :: ToSql SqlValue p
=> PreparedDelete p
-> p
-> IO Integer
runPreparedDelete = runPreparedNoFetch
runDelete :: (IConnection conn, ToSql SqlValue p)
=> conn
-> Delete p
-> p
-> IO Integer
runDelete = runNoFetch