relational-query 0.7.0.2 → 0.7.1.0
raw patch · 5 files changed
+32/−15 lines, 5 filesdep ~names-thPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: names-th
API changes (from Hackage documentation)
+ Database.Relational.Query.Arrow: type AssignStatement r a = Assignings r Restrict (Projection Flat r) a
+ Database.Relational.Query.Arrow: type RestrictedStatement r a = QueryA Restrict (Projection Flat r) a
- Database.Relational.Query.Arrow: derivedDelete :: TableDerivable r => RestrictionContext p r -> Delete p
+ Database.Relational.Query.Arrow: derivedDelete :: TableDerivable r => RestrictedStatement r (PlaceHolders p) -> Delete p
- Database.Relational.Query.Arrow: derivedDelete' :: TableDerivable r => Config -> RestrictionContext p r -> Delete p
+ Database.Relational.Query.Arrow: derivedDelete' :: TableDerivable r => Config -> RestrictedStatement r (PlaceHolders p) -> Delete p
- Database.Relational.Query.Arrow: derivedUpdate :: TableDerivable r => UpdateTargetContext p r -> Update p
+ Database.Relational.Query.Arrow: derivedUpdate :: TableDerivable r => AssignStatement r (PlaceHolders p) -> Update p
- Database.Relational.Query.Arrow: derivedUpdate' :: TableDerivable r => Config -> UpdateTargetContext p r -> Update p
+ Database.Relational.Query.Arrow: derivedUpdate' :: TableDerivable r => Config -> AssignStatement r (PlaceHolders p) -> Update p
- Database.Relational.Query.Type: derivedDelete :: TableDerivable r => RestrictionContext p r -> Delete p
+ Database.Relational.Query.Type: derivedDelete :: TableDerivable r => RestrictedStatement r (PlaceHolders p) -> Delete p
- Database.Relational.Query.Type: derivedDelete' :: TableDerivable r => Config -> RestrictionContext p r -> Delete p
+ Database.Relational.Query.Type: derivedDelete' :: TableDerivable r => Config -> RestrictedStatement r (PlaceHolders p) -> Delete p
- Database.Relational.Query.Type: derivedUpdate :: TableDerivable r => UpdateTargetContext p r -> Update p
+ Database.Relational.Query.Type: derivedUpdate :: TableDerivable r => AssignStatement r (PlaceHolders p) -> Update p
- Database.Relational.Query.Type: derivedUpdate' :: TableDerivable r => Config -> UpdateTargetContext p r -> Update p
+ Database.Relational.Query.Type: derivedUpdate' :: TableDerivable r => Config -> AssignStatement r (PlaceHolders p) -> Update p
- Database.Relational.Query.Type: restrictedUpdateAllColumn :: PersistableWidth r => Table r -> RestrictionContext p r -> Update (r, p)
+ Database.Relational.Query.Type: restrictedUpdateAllColumn :: PersistableWidth r => Table r -> RestrictedStatement r (PlaceHolders p) -> Update (r, p)
- Database.Relational.Query.Type: restrictedUpdateTableAllColumn :: (PersistableWidth r, TableDerivable r) => Relation () r -> RestrictionContext p r -> Update (r, p)
+ Database.Relational.Query.Type: restrictedUpdateTableAllColumn :: (PersistableWidth r, TableDerivable r) => Relation () r -> RestrictedStatement r (PlaceHolders p) -> Update (r, p)
Files
- ChangeLog.md +4/−0
- relational-query.cabal +1/−1
- src/Database/Relational/Query/Arrow.hs +13/−4
- src/Database/Relational/Query/Effect.hs +2/−0
- src/Database/Relational/Query/Type.hs +12/−10
ChangeLog.md view
@@ -1,5 +1,9 @@ <!-- -*- Markdown -*- --> +## 0.7.1.0++- Deprecate redundant type synonyms.+ ## 0.7.0.2 - Prepare to drop Expr type and deprecate around it.
relational-query.cabal view
@@ -1,5 +1,5 @@ name: relational-query-version: 0.7.0.2+version: 0.7.1.0 synopsis: Typeful, Modular, Relational, algebraic query engine description: This package contiains typeful relation structure and relational-algebraic query building DSL which can
src/Database/Relational/Query/Arrow.hs view
@@ -58,6 +58,7 @@ Orderings, Window, Assignings, + AssignStatement, RestrictedStatement, UpdateTargetContext, RestrictionContext, ) where @@ -124,9 +125,17 @@ -- | Arrow type corresponding to 'Monadic.Assignings' type Assignings r m = QueryA (Monadic.Assignings r m) +-- | Arrow type corresponding to 'Monadic.AssignStatement'+type AssignStatement r a = Assignings r Restrict (Projection Flat r) a++-- | Arrow type corresponding to 'Monadic.RestrictedStatement'+type RestrictedStatement r a = QueryA Monadic.Restrict (Projection Flat r) a++{-# DEPRECATED UpdateTargetContext "Expand UpdateTargetContext p r into AssignStatement r (PlaceHolders p)." #-} -- | Arrow type corresponding to 'Monadic.UpdateTargetContext' type UpdateTargetContext p r = Assignings r Restrict (Projection Flat r) (PlaceHolders p) +{-# DEPRECATED RestrictionContext "Expand RestrictionContext p r into RestrictedStatement r (PlaceHolders p)." #-} -- | Arrow type corresponding to 'Monadic.RestrictionContext' type RestrictionContext p r = QueryA Monadic.Restrict (Projection Flat r) (PlaceHolders p) @@ -406,20 +415,20 @@ -- | Same as 'Monadic.derivedUpdate''. -- Make 'Update' from assigning statement arrow using configuration.-derivedUpdate' :: TableDerivable r => Config -> UpdateTargetContext p r -> Update p+derivedUpdate' :: TableDerivable r => Config -> AssignStatement r (PlaceHolders p) -> Update p derivedUpdate' config = Monadic.derivedUpdate' config . runQueryA -- | Same as 'Monadic.derivedUpdate'. -- Make 'Update' from assigning statement arrow.-derivedUpdate :: TableDerivable r => UpdateTargetContext p r -> Update p+derivedUpdate :: TableDerivable r => AssignStatement r (PlaceHolders p) -> Update p derivedUpdate = Monadic.derivedUpdate . runQueryA -- | Same as 'Monadic.derivedDelete''. -- Make 'Update' from restrict statement arrow using configuration.-derivedDelete' :: TableDerivable r => Config -> RestrictionContext p r -> Delete p+derivedDelete' :: TableDerivable r => Config -> RestrictedStatement r (PlaceHolders p) -> Delete p derivedDelete' config = Monadic.derivedDelete' config . runQueryA -- | Same as 'Monadic.derivedDelete'. -- Make 'Update' from restrict statement arrow.-derivedDelete :: TableDerivable r => RestrictionContext p r -> Delete p+derivedDelete :: TableDerivable r => RestrictedStatement r (PlaceHolders p) -> Delete p derivedDelete = Monadic.derivedDelete . runQueryA
src/Database/Relational/Query/Effect.hs view
@@ -49,6 +49,7 @@ -- | Restriction type with place-holder parameter 'p' and projection record type 'r'. newtype Restriction p r = Restriction (Projection Flat r -> Restrict ()) +{-# DEPRECATED RestrictionContext "Expand RestrictionContext p r into RestrictedStatement r (PlaceHolders p)." #-} -- | Not finalized 'Restrict' monad type. type RestrictionContext p r = RestrictedStatement r (PlaceHolders p) @@ -77,6 +78,7 @@ -- | UpdateTarget type with place-holder parameter 'p' and projection record type 'r'. newtype UpdateTarget p r = UpdateTarget (AssignStatement r ()) +{-# DEPRECATED UpdateTargetContext "Expand UpdateTargetContext p r into AssignStatement r (PlaceHolders p)." #-} -- | Not finalized 'Target' monad type. type UpdateTargetContext p r = AssignStatement r (PlaceHolders p)
src/Database/Relational/Query/Type.hs view
@@ -44,14 +44,16 @@ import Database.Relational.Query.Internal.SQL (showStringSQL) import Database.Relational.Query.Monad.BaseType (Relation, sqlFromRelationWith)+import Database.Relational.Query.Monad.Restrict (RestrictedStatement)+import Database.Relational.Query.Monad.Assign (AssignStatement) import Database.Relational.Query.Relation (tableOf) import Database.Relational.Query.Effect- (Restriction, RestrictionContext, restriction',- UpdateTarget, UpdateTargetContext, updateTarget', liftTargetAllColumn',+ (Restriction, restriction', UpdateTarget, updateTarget', liftTargetAllColumn', sqlWhereFromRestriction, sqlFromUpdateTarget) import Database.Relational.Query.Pi (Pi) import Database.Relational.Query.Component (Config (chunksInsertSize), defaultConfig) import Database.Relational.Query.Table (Table, TableDerivable, derivedTable)+import Database.Relational.Query.Projectable (PlaceHolders) import Database.Relational.Query.SQL (QuerySuffix, showsQuerySuffix, insertPrefixSQL, insertSQL, insertSizedChunkSQL, updateOtherThanKeySQL, updatePrefixSQL, deletePrefixSQL)@@ -128,13 +130,13 @@ targetTable :: TableDerivable r => UpdateTarget p r -> Table r targetTable = const derivedTable --- | Make typed 'Update' from 'Config', derived table and 'UpdateTargetContext'-derivedUpdate' :: TableDerivable r => Config -> UpdateTargetContext p r -> Update p+-- | Make typed 'Update' from 'Config', derived table and 'AssignStatement'+derivedUpdate' :: TableDerivable r => Config -> AssignStatement r (PlaceHolders p) -> Update p derivedUpdate' config utc = typedUpdate' config (targetTable ut) ut where ut = updateTarget' utc --- | Make typed 'Update' from 'defaultConfig', derived table and 'UpdateTargetContext'-derivedUpdate :: TableDerivable r => UpdateTargetContext p r -> Update p+-- | Make typed 'Update' from 'defaultConfig', derived table and 'AssignStatement'+derivedUpdate :: TableDerivable r => AssignStatement r (PlaceHolders p) -> Update p derivedUpdate = derivedUpdate' defaultConfig @@ -150,7 +152,7 @@ -- Update target is all column. restrictedUpdateAllColumn :: PersistableWidth r => Table r- -> RestrictionContext p r -- ^ 'Restrict' monad context+ -> RestrictedStatement r (PlaceHolders p) -- ^ 'Restrict' monad context -> Update (r, p) restrictedUpdateAllColumn tbl = typedUpdateAllColumn tbl . restriction' @@ -158,7 +160,7 @@ -- Update target is all column. restrictedUpdateTableAllColumn :: (PersistableWidth r, TableDerivable r) => Relation () r- -> RestrictionContext p r+ -> RestrictedStatement r (PlaceHolders p) -> Update (r, p) restrictedUpdateTableAllColumn = restrictedUpdateAllColumn . tableOf @@ -251,12 +253,12 @@ restrictedTable = const derivedTable -- | Make typed 'Delete' from 'Config', derived table and 'RestrictContext'-derivedDelete' :: TableDerivable r => Config -> RestrictionContext p r -> Delete p+derivedDelete' :: TableDerivable r => Config -> RestrictedStatement r (PlaceHolders p) -> Delete p derivedDelete' config rc = typedDelete' config (restrictedTable rs) rs where rs = restriction' rc -- | Make typed 'Delete' from 'defaultConfig', derived table and 'RestrictContext'-derivedDelete :: TableDerivable r => RestrictionContext p r -> Delete p+derivedDelete :: TableDerivable r => RestrictedStatement r (PlaceHolders p) -> Delete p derivedDelete = derivedDelete' defaultConfig -- | Show delete SQL string