hpqtypes-extras 1.6.2.0 → 1.6.3.0
raw patch · 6 files changed
+30/−9 lines, 6 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Database.PostgreSQL.PQTypes.SQL.Builder: instance GHC.Exception.Exception Database.PostgreSQL.PQTypes.SQL.Builder.SomeDBExtraException
+ Database.PostgreSQL.PQTypes.SQL.Builder: instance GHC.Exception.Type.Exception Database.PostgreSQL.PQTypes.SQL.Builder.SomeDBExtraException
+ Database.PostgreSQL.PQTypes.SQL.Builder: sqlWhereAnyE :: (DBExtraException e, MonadState v m, SqlWhere v) => e -> [State SqlAll ()] -> m ()
- Database.PostgreSQL.PQTypes.Model.ColumnType: CustomT :: !(RawSQL ()) -> ColumnType
+ Database.PostgreSQL.PQTypes.Model.ColumnType: CustomT :: !RawSQL () -> ColumnType
- Database.PostgreSQL.PQTypes.Model.CompositeType: CompositeColumn :: !(RawSQL ()) -> ColumnType -> CompositeColumn
+ Database.PostgreSQL.PQTypes.Model.CompositeType: CompositeColumn :: !RawSQL () -> ColumnType -> CompositeColumn
- Database.PostgreSQL.PQTypes.Model.CompositeType: CompositeType :: !(RawSQL ()) -> ![CompositeColumn] -> CompositeType
+ Database.PostgreSQL.PQTypes.Model.CompositeType: CompositeType :: !RawSQL () -> ![CompositeColumn] -> CompositeType
- Database.PostgreSQL.PQTypes.Model.CompositeType: [ccName] :: CompositeColumn -> !(RawSQL ())
+ Database.PostgreSQL.PQTypes.Model.CompositeType: [ccName] :: CompositeColumn -> !RawSQL ()
- Database.PostgreSQL.PQTypes.Model.CompositeType: [ctName] :: CompositeType -> !(RawSQL ())
+ Database.PostgreSQL.PQTypes.Model.CompositeType: [ctName] :: CompositeType -> !RawSQL ()
- Database.PostgreSQL.PQTypes.Model.Migration: StandardMigration :: (m ()) -> MigrationAction m
+ Database.PostgreSQL.PQTypes.Model.Migration: StandardMigration :: m () -> MigrationAction m
- Database.PostgreSQL.PQTypes.Model.Table: TableInitialSetup :: forall m. (MonadDB m, MonadThrow m) => m Bool -> forall m. (MonadDB m, MonadThrow m) => m () -> TableInitialSetup
+ Database.PostgreSQL.PQTypes.Model.Table: TableInitialSetup :: (forall m. (MonadDB m, MonadThrow m) => m Bool) -> (forall m. (MonadDB m, MonadThrow m) => m ()) -> TableInitialSetup
- Database.PostgreSQL.PQTypes.SQL.Builder: sqlIgnore :: (MonadState s m) => State (SqlWhereIgnore s) a -> m ()
+ Database.PostgreSQL.PQTypes.SQL.Builder: sqlIgnore :: MonadState s m => State (SqlWhereIgnore s) a -> m ()
- Database.PostgreSQL.PQTypes.SQL.Builder: sqlSetCmdList :: (MonadState SqlInsert m) => SQL -> [SQL] -> m ()
+ Database.PostgreSQL.PQTypes.SQL.Builder: sqlSetCmdList :: MonadState SqlInsert m => SQL -> [SQL] -> m ()
- Database.PostgreSQL.PQTypes.SQL.Builder: sqlTurnIntoWhyNotSelect :: (SqlTurnIntoSelect a) => a -> SqlSelect
+ Database.PostgreSQL.PQTypes.SQL.Builder: sqlTurnIntoWhyNotSelect :: SqlTurnIntoSelect a => a -> SqlSelect
Files
- CHANGELOG.md +5/−1
- hpqtypes-extras.cabal +6/−4
- src/Database/PostgreSQL/PQTypes/Checks/Util.hs +3/−0
- src/Database/PostgreSQL/PQTypes/Model/Table.hs +0/−1
- src/Database/PostgreSQL/PQTypes/SQL/Builder.hs +16/−2
- src/Database/PostgreSQL/PQTypes/Utils/NubList.hs +0/−1
CHANGELOG.md view
@@ -1,9 +1,13 @@+# hpqtypes-extras-1.6.3.0 (2018-07-11)+* API addition: `sqlWhereAnyE`+ ([#16](https://github.com/scrive/hpqtypes-extras/pull/16)).+ # hpqtypes-extras-1.6.2.0 (2018-07-11) * Support hpqtypes-1.6.0.0. * Drop support for GHC < 8. # hpqtypes-extras-1.6.1.0 (2018-03-18)-* Add support for GHC 8.4.1.+* Add support for GHC 8.4. * Drop support for GHC 7.8. # hpqtypes-extras-1.6.0.0 (2018-01-25)
hpqtypes-extras.cabal view
@@ -1,5 +1,6 @@+cabal-version: 1.18 name: hpqtypes-extras-version: 1.6.2.0+version: 1.6.3.0 synopsis: Extra utilities for hpqtypes library description: The following extras for hpqtypes library: .@@ -19,8 +20,7 @@ copyright: Scrive AB category: Database build-type: Simple-cabal-version: >=1.10-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3+tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.2 Source-repository head Type: git@@ -50,7 +50,7 @@ other-modules: Database.PostgreSQL.PQTypes.Checks.Util , Database.PostgreSQL.PQTypes.Utils.NubList - build-depends: base > 4 && < 5+ build-depends: base > 4 && < 4.13 , hpqtypes >= 1.6.0.0 , base16-bytestring , bytestring@@ -85,6 +85,8 @@ , TypeFamilies , UndecidableInstances , ViewPatterns+ other-extensions: CPP+ , TypeApplications test-suite hpqtypes-extras-tests type: exitcode-stdio-1.0
src/Database/PostgreSQL/PQTypes/Checks/Util.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Database.PostgreSQL.PQTypes.Checks.Util ( ValidationResult(..), resultCheck,@@ -13,7 +14,9 @@ ) where import Control.Monad.Catch+#if !MIN_VERSION_base(4,11,0) import Data.Monoid+#endif import Data.Monoid.Utils import Data.Text (Text) import Log
src/Database/PostgreSQL/PQTypes/Model/Table.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE ExistentialQuantification #-} module Database.PostgreSQL.PQTypes.Model.Table ( TableColumn(..) , tblColumn
src/Database/PostgreSQL/PQTypes/SQL/Builder.hs view
@@ -195,6 +195,7 @@ , SqlDelete(..) , sqlWhereAny+ , sqlWhereAnyE , SqlResult , SqlSet@@ -726,9 +727,22 @@ => (a -> e) -> SQL -> m () sqlWhereIsNULLE exc col = sqlWhereEV (exc, col) $ col <+> "IS NULL" +-- | Add a condition in the WHERE statement that holds if any of the given+-- condition holds. sqlWhereAny :: (MonadState v m, SqlWhere v) => [State SqlAll ()] -> m ()-sqlWhereAny [] = sqlWhere "FALSE"-sqlWhereAny l = sqlWhere $ "(" <+> smintercalate "OR" (map (parenthesize . toSQLCommand . flip execState (SqlAll [])) l) <+> ")"+sqlWhereAny = sqlWhere . sqlWhereAnyImpl++-- | Add a condition just like 'sqlWhereAny' but throw the given exception if+-- none of the given conditions hold.+sqlWhereAnyE :: (DBExtraException e, MonadState v m, SqlWhere v)+ => e -> [State SqlAll ()] -> m ()+sqlWhereAnyE e = sqlWhereE e . sqlWhereAnyImpl++sqlWhereAnyImpl :: [State SqlAll ()] -> SQL+sqlWhereAnyImpl [] = "FALSE"+sqlWhereAnyImpl l =+ "(" <+> smintercalate "OR" (map (parenthesize . toSQLCommand+ . flip execState (SqlAll [])) l) <+> ")" class SqlFrom a where sqlFrom1 :: a -> SQL -> a
src/Database/PostgreSQL/PQTypes/Utils/NubList.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DeriveDataTypeable #-} module Database.PostgreSQL.PQTypes.Utils.NubList ( NubList -- opaque , toNubList -- smart construtor