persistent-mtl 0.2.1.0 → 0.2.2.0
raw patch · 11 files changed
+195/−23 lines, 11 filesdep ~basedep ~conduitdep ~mtlPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, conduit, mtl, persistent, resourcet, text
API changes (from Hackage documentation)
- Database.Persist.Monad.Shim: deleteCascade :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m) => Key record -> m ()
- Database.Persist.Monad.Shim: deleteCascadeWhere :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m) => [Filter record] -> m ()
- Database.Persist.Monad.SqlQueryRep: [DeleteCascadeWhere] :: DeleteCascade record SqlBackend => [Filter record] -> SqlQueryRep record ()
- Database.Persist.Monad.SqlQueryRep: [DeleteCascade] :: DeleteCascade record SqlBackend => Key record -> SqlQueryRep record ()
- Database.Persist.Monad.TestUtils: [DeleteCascadeWhere] :: DeleteCascade record SqlBackend => [Filter record] -> SqlQueryRep record ()
- Database.Persist.Monad.TestUtils: [DeleteCascade] :: DeleteCascade record SqlBackend => Key record -> SqlQueryRep record ()
Files
- CHANGELOG.md +4/−0
- persistent-mtl.cabal +10/−10
- src/Database/Persist/Monad/Shim.hs +4/−0
- src/Database/Persist/Monad/SqlQueryRep.hs +12/−0
- test/Example.hs +15/−11
- test/Generated.hs +4/−0
- test/Integration.hs +2/−0
- test/Mocked.hs +2/−0
- test/SqlQueryRepTest.hs +8/−2
- test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden +68/−0
- test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden +66/−0
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Unreleased +# 0.2.2.0++* Fix for persistent 2.13+ # 0.2.1.0 * Add `rerunnableLift` for `SqlTransaction`
persistent-mtl.cabal view
@@ -1,13 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: 1c982d6beda7cf991f9c302b1cbcb030441f7956de96f1d4080e3776fb192b33 name: persistent-mtl-version: 0.2.1.0+version: 0.2.2.0 synopsis: Monad transformer for the persistent API description: A monad transformer and mtl-style type class for using the persistent API directly in your monad transformer stack.@@ -23,6 +21,8 @@ README.md test/goldens/persistent-2.10/sqlqueryrep_show_representation.golden test/goldens/persistent-2.11/sqlqueryrep_show_representation.golden+ test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden+ test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden test/goldens/persistent-2.8/sqlqueryrep_show_representation.golden test/goldens/persistent-2.9/sqlqueryrep_show_representation.golden @@ -44,14 +44,14 @@ src ghc-options: -Wall build-depends:- base >=4.10 && <5- , conduit >=1.3.0.3 && <2+ base >=4.10 && <4.16+ , conduit >=1.3.0.3 && <1.4 , containers >=0.5.10.2 && <0.7- , mtl >=2.2.2 && <3- , persistent >=2.8.2 && <3+ , mtl >=2.2.2 && <2.3+ , persistent >=2.8.2 && <2.14 , resource-pool >=0.2.3.2 && <0.3- , resourcet >=1.2.1 && <2- , text >=1.2.3.0 && <2+ , resourcet >=1.2.1 && <1.3+ , text >=1.2.3.0 && <1.3 , transformers >=0.5.2.0 && <0.6 , unliftio >=0.2.7.0 && <0.3 , unliftio-core >=0.1.2.0 && <0.3
src/Database/Persist/Monad/Shim.hs view
@@ -360,17 +360,21 @@ => [Filter record] -> [Update record] -> m Int64 updateWhereCount a1 a2 = runQueryRep $ UpdateWhereCount a1 a2 +#if !MIN_VERSION_persistent(2,13,0) -- | The lifted version of 'Database.Persist.Sql.deleteCascade' deleteCascade :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m) => Key record -> m () deleteCascade a1 = runQueryRep $ DeleteCascade a1+#endif +#if !MIN_VERSION_persistent(2,13,0) -- | The lifted version of 'Database.Persist.Sql.deleteCascadeWhere' deleteCascadeWhere :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m) => [Filter record] -> m () deleteCascadeWhere a1 = runQueryRep $ DeleteCascadeWhere a1+#endif -- | The lifted version of 'Database.Persist.Sql.parseMigration' parseMigration
src/Database/Persist/Monad/SqlQueryRep.hs view
@@ -313,15 +313,19 @@ :: (PersistRecordBackend record SqlBackend) => [Filter record] -> [Update record] -> SqlQueryRep record Int64 +#if !MIN_VERSION_persistent(2,13,0) -- | Constructor corresponding to 'Persist.deleteCascade' DeleteCascade :: (DeleteCascade record SqlBackend) => Key record -> SqlQueryRep record ()+#endif +#if !MIN_VERSION_persistent(2,13,0) -- | Constructor corresponding to 'Persist.deleteCascadeWhere' DeleteCascadeWhere :: (DeleteCascade record SqlBackend) => [Filter record] -> SqlQueryRep record ()+#endif -- | Constructor corresponding to 'Persist.parseMigration' ParseMigration@@ -507,8 +511,12 @@ DeleteWhere{} -> "DeleteWhere{..}" ++ record DeleteWhereCount{} -> "DeleteWhereCount{..}" ++ record UpdateWhereCount{} -> "UpdateWhereCount{..}" ++ record+#if !MIN_VERSION_persistent(2,13,0) DeleteCascade{} -> "DeleteCascade{..}" ++ record+#endif+#if !MIN_VERSION_persistent(2,13,0) DeleteCascadeWhere{} -> "DeleteCascadeWhere{..}" ++ record+#endif ParseMigration{} -> "ParseMigration{..}" ++ record ParseMigration'{} -> "ParseMigration'{..}" ++ record PrintMigration{} -> "PrintMigration{..}" ++ record@@ -619,8 +627,12 @@ DeleteWhere a1 -> Persist.deleteWhere a1 DeleteWhereCount a1 -> Persist.deleteWhereCount a1 UpdateWhereCount a1 a2 -> Persist.updateWhereCount a1 a2+#if !MIN_VERSION_persistent(2,13,0) DeleteCascade a1 -> Persist.deleteCascade a1+#endif+#if !MIN_VERSION_persistent(2,13,0) DeleteCascadeWhere a1 -> Persist.deleteCascadeWhere a1+#endif ParseMigration a1 -> Persist.parseMigration a1 ParseMigration' a1 -> Persist.parseMigration' a1 PrintMigration a1 -> Persist.printMigration a1
test/Example.hs view
@@ -45,13 +45,10 @@ import Database.Persist.Sql (Entity(..), EntityField, Key, SelectOpt(..), Unique, toSqlKey) import Database.Persist.TH- ( mkDeleteCascade- , mkMigrate- , mkPersist- , persistLowerCase- , share- , sqlSettings- )+ (mkMigrate, mkPersist, persistLowerCase, share, sqlSettings)+#if !MIN_VERSION_persistent(2,13,0)+import qualified Database.Persist.TH+#endif import UnliftIO (MonadUnliftIO(..), wrappedWithRunInIO) import Control.Monad.IO.Rerunnable (MonadRerunnableIO)@@ -60,21 +57,28 @@ share [ mkPersist sqlSettings- , mkDeleteCascade sqlSettings+#if !MIN_VERSION_persistent(2,13,0)+ , Database.Persist.TH.mkDeleteCascade sqlSettings+#endif , mkMigrate "migration" ] [persistLowerCase| Person- name String- age Int+ name String+ age Int removedColumn String SafeToRemove UniqueName name deriving Show Eq Post- title String+ title String+#if MIN_VERSION_persistent(2,13,0) author PersonId editor PersonId Maybe+#else+ author PersonId OnDeleteCascade+ editor PersonId Maybe OnDeleteCascade+#endif deriving Show Eq |]
test/Generated.hs view
@@ -90,8 +90,12 @@ , show (DeleteWhere undefined :: SqlQueryRep Person ()) , show (DeleteWhereCount undefined :: SqlQueryRep Person Int64) , show (UpdateWhereCount undefined undefined :: SqlQueryRep Person Int64)+#if !MIN_VERSION_persistent(2,13,0) , show (DeleteCascade undefined :: SqlQueryRep Person ())+#endif+#if !MIN_VERSION_persistent(2,13,0) , show (DeleteCascadeWhere undefined :: SqlQueryRep Person ())+#endif , show (ParseMigration undefined :: SqlQueryRep Void (Either [Text] CautiousMigration)) , show (ParseMigration' undefined :: SqlQueryRep Void CautiousMigration) , show (PrintMigration undefined :: SqlQueryRep Void ())
test/Integration.hs view
@@ -539,6 +539,7 @@ rowsDeleted @?= 1 names @?= ["Bob"] +#if !MIN_VERSION_persistent(2,13,0) , testCase "deleteCascade" $ do (people, posts) <- runTestApp backendType $ do aliceKey <- insert $ person "Alice"@@ -568,6 +569,7 @@ return (people, posts) people @?= ["Bob"] posts @?= ["Post #2"]+#endif , testCase "parseMigration" $ do result <- runTestApp backendType $ do
test/Mocked.hs view
@@ -455,6 +455,7 @@ ] result @?= 10 +#if !MIN_VERSION_persistent(2,13,0) , testCase "deleteCascade" $ do result <- runMockSqlQueryT (deleteCascade @Person 1) [ withRecord @Person $ \case@@ -470,6 +471,7 @@ _ -> Nothing ] result @?= ()+#endif , testCase "getFieldName" $ do result <- runMockSqlQueryT (getFieldName PersonName)
test/SqlQueryRepTest.hs view
@@ -11,7 +11,13 @@ {-# ANN module "HLint: ignore" #-} persistentVersionDir :: FilePath-#if MIN_VERSION_persistent(2,11,0)+#if MIN_VERSION_persistent(2,14,0)+persistentVersionDir = error "Running tests against persistent > 2.13 is not supported"+#elif MIN_VERSION_persistent(2,13,0)+persistentVersionDir = "persistent-2.13/"+#elif MIN_VERSION_persistent(2,12,0)+persistentVersionDir = "persistent-2.12/"+#elif MIN_VERSION_persistent(2,11,0) persistentVersionDir = "persistent-2.11/" #elif MIN_VERSION_persistent(2,10,0) persistentVersionDir = "persistent-2.10/"@@ -20,7 +26,7 @@ #elif MIN_VERSION_persistent(2,8,0) persistentVersionDir = "persistent-2.8/" #else-persistentVersionDir = undefined+persistentVersionDir = error "Running tests against persistent < 2.8 is not supported" #endif tests :: TestTree
+ test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden view
@@ -0,0 +1,68 @@+Get{..}<Person>+GetMany{..}<Person>+GetJust{..}<Person>+GetJustEntity{..}<Person>+GetEntity{..}<Person>+BelongsTo{..}<(Person,Post)>+BelongsToJust{..}<(Person,Post)>+Insert{..}<Person>+Insert_{..}<Person>+InsertMany{..}<Person>+InsertMany_{..}<Person>+InsertEntityMany{..}<Person>+InsertKey{..}<Person>+Repsert{..}<Person>+RepsertMany{..}<Person>+Replace{..}<Person>+Delete{..}<Person>+Update{..}<Person>+UpdateGet{..}<Person>+InsertEntity{..}<Person>+InsertRecord{..}<Person>+GetBy{..}<Person>+GetByValue{..}<Person>+CheckUnique{..}<Person>+CheckUniqueUpdateable{..}<Person>+DeleteBy{..}<Person>+InsertUnique{..}<Person>+Upsert{..}<Person>+UpsertBy{..}<Person>+PutMany{..}<Person>+InsertBy{..}<Person>+InsertUniqueEntity{..}<Person>+ReplaceUnique{..}<Person>+OnlyUnique{..}<Person>+SelectSourceRes{..}<Person>+SelectFirst{..}<Person>+SelectKeysRes{..}<Person>+Count{..}<Person>+Exists{..}<Person>+SelectList{..}<Person>+SelectKeysList{..}<Person>+UpdateWhere{..}<Person>+DeleteWhere{..}<Person>+DeleteWhereCount{..}<Person>+UpdateWhereCount{..}<Person>+DeleteCascade{..}<Person>+DeleteCascadeWhere{..}<Person>+ParseMigration{..}+ParseMigration'{..}+PrintMigration{..}+ShowMigration{..}+GetMigration{..}+RunMigration{..}+RunMigrationQuiet{..}+RunMigrationSilent{..}+RunMigrationUnsafe{..}+RunMigrationUnsafeQuiet{..}+GetFieldName{..}<Person>+GetTableName{..}<Person>+WithRawQuery{..}+RawQueryRes{..}+RawExecute{..}+RawExecuteCount{..}+RawSql{..}+TransactionSave{..}+TransactionSaveWithIsolation{..}+TransactionUndo{..}+TransactionUndoWithIsolation{..}
+ test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden view
@@ -0,0 +1,66 @@+Get{..}<Person>+GetMany{..}<Person>+GetJust{..}<Person>+GetJustEntity{..}<Person>+GetEntity{..}<Person>+BelongsTo{..}<(Person,Post)>+BelongsToJust{..}<(Person,Post)>+Insert{..}<Person>+Insert_{..}<Person>+InsertMany{..}<Person>+InsertMany_{..}<Person>+InsertEntityMany{..}<Person>+InsertKey{..}<Person>+Repsert{..}<Person>+RepsertMany{..}<Person>+Replace{..}<Person>+Delete{..}<Person>+Update{..}<Person>+UpdateGet{..}<Person>+InsertEntity{..}<Person>+InsertRecord{..}<Person>+GetBy{..}<Person>+GetByValue{..}<Person>+CheckUnique{..}<Person>+CheckUniqueUpdateable{..}<Person>+DeleteBy{..}<Person>+InsertUnique{..}<Person>+Upsert{..}<Person>+UpsertBy{..}<Person>+PutMany{..}<Person>+InsertBy{..}<Person>+InsertUniqueEntity{..}<Person>+ReplaceUnique{..}<Person>+OnlyUnique{..}<Person>+SelectSourceRes{..}<Person>+SelectFirst{..}<Person>+SelectKeysRes{..}<Person>+Count{..}<Person>+Exists{..}<Person>+SelectList{..}<Person>+SelectKeysList{..}<Person>+UpdateWhere{..}<Person>+DeleteWhere{..}<Person>+DeleteWhereCount{..}<Person>+UpdateWhereCount{..}<Person>+ParseMigration{..}+ParseMigration'{..}+PrintMigration{..}+ShowMigration{..}+GetMigration{..}+RunMigration{..}+RunMigrationQuiet{..}+RunMigrationSilent{..}+RunMigrationUnsafe{..}+RunMigrationUnsafeQuiet{..}+GetFieldName{..}<Person>+GetTableName{..}<Person>+WithRawQuery{..}+RawQueryRes{..}+RawExecute{..}+RawExecuteCount{..}+RawSql{..}+TransactionSave{..}+TransactionSaveWithIsolation{..}+TransactionUndo{..}+TransactionUndoWithIsolation{..}