module Database.Custom.PostgreSQL (
module Database.Relational,
relationalQuery,
insertValue, insertValueNoPH, insertQuery,
update, updateNoPH,
delete, deleteNoPH,
) where
import Language.SQL.Keyword (Keyword)
import Database.Relational.Schema.PostgreSQL.Config (config)
import Database.Relational hiding
(relationalQuery,
insertValue, insertValueNoPH, insertQuery,
update, updateNoPH,
delete, deleteNoPH, )
relationalQuery :: Relation p r
-> [Keyword]
-> Query p r
relationalQuery = relationalQuery_ config
insertValue :: TableDerivable r
=> Register r (PlaceHolders p)
-> Insert p
insertValue = insertValue' config
insertValueNoPH :: TableDerivable r
=> Register r ()
-> Insert ()
insertValueNoPH body = insertValue $ body >> return unitPH
insertQuery :: TableDerivable r => Pi r r' -> Relation p r' -> InsertQuery p
insertQuery = insertQuery' config
update :: TableDerivable r
=> (Record Flat r -> Assign r (PlaceHolders p))
-> Update p
update = update' config
updateNoPH :: TableDerivable r
=> (Record Flat r -> Assign r ())
-> Update ()
updateNoPH body = update $ (>> return unitPH) . body
delete :: TableDerivable r
=> (Record Flat r -> Restrict (PlaceHolders p))
-> Delete p
delete = delete' config
deleteNoPH :: TableDerivable r
=> (Record Flat r -> Restrict ())
-> Delete ()
deleteNoPH body = delete $ (>> return unitPH) . body