- Add GHC 9.8 support
- Drop support for GHC < 9.4
- Add GHC 9.4 support
- Export
SqlQueryT
constructor (#46) - Drop support for GHC < 8.10
- Drop support for
persistent
< 2.13 - Add support for
persistent-2.14
- Add
Database.Persist.Sql.Shim
module that re-exportsDatabase.Persist.Sql
andDatabase.Persist.Monad.Shim
- Add
MonadFix
instance toSqlQueryT
andSqlTransaction
- Add
getSqlBackendPool
- Move
rerunnableLift
intoMonadRerunnableTrans
typeclass inControl.Monad.Trans.Rerunnable
- Add
catchSqlTransaction
- Add
retryCallback
toSqlQueryEnv
- Add some mtl instances:
MonadThrow
,MonadCatch
,MonadMask
,MonadLogger
,MonadReader
- Removed support for GHC 8.2, 8.4
- Add
MonadSqlQuery (TransactionM m)
superclass constraint to allow writing functions generic on someMonadSqlQuery m
usingwithTransaction
, as shown in examples in README
- Add
unsafeLiftSql
(#38)
- Fix for persistent 2.13
- Add
rerunnableLift
forSqlTransaction
- Use
unliftio-pool
instead ofresourcet-pool
, which has better async exeception safety
- Use a separate monad within
withTransaction
to prevent unsafe/arbitrary IO actions (#7, #28) - Add
MonadRerunnableIO
to support IO actions withinwithTransaction
only if the IO action is determined to be rerunnable - Add built-in support for retrying transactions if a serialization error occurs
- Remove
SqlQueryRep
as an export fromDatabase.Persist.Monad
. You shouldn't ever need it for normal usage. It is now re-exported byDatabase.Persist.Monad.TestUtils
, since most of the usage ofSqlQueryRep
is in mocking queries. If you need it otherwise, you can import it directly fromDatabase.Persist.Monad.SqlQueryRep
.
Fix quickstart
Initial release
SqlQueryT
+MonadSqlQuery
- Autogenerated persistent API
MockQueryT