relational-query-0.8.0.0: src/Database/Relational/Query/Monad/Register.hs
-- |
-- Module : Database.Relational.Query.Monad.Register
-- Copyright : 2015 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino@gmail.com
-- Stability : experimental
-- Portability : unknown
--
-- This module contains definitions about assignment monad type to build insert statement.
module Database.Relational.Query.Monad.Register (
-- * Monad to register target records.
Register,
extract,
) where
import Database.Relational.Query.Component (Config, Assignments)
import Database.Relational.Query.Table (Table)
import Database.Relational.Query.Monad.BaseType (ConfigureQuery, configureQuery)
import Database.Relational.Query.Monad.Trans.Assigning (Assignings, extractAssignments)
-- | Target register monad type used from insert statement.
type Register r = Assignings r ConfigureQuery
-- | Run 'InsertStatement'.
extract :: Assignings r ConfigureQuery a -> Config -> (a, Table r -> Assignments)
extract = configureQuery . extractAssignments