packages feed

esqueleto 2.3.0 → 2.4.0

raw patch · 4 files changed

+24/−13 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Database.Esqueleto: castString :: (Esqueleto query expr backend, SqlString s, SqlString r) => expr (Value s) -> expr (Value r)
+ Database.Esqueleto.Internal.Language: castString :: (Esqueleto query expr backend, SqlString s, SqlString r) => expr (Value s) -> expr (Value r)
+ Database.Esqueleto.Internal.Language: instance SqlString a => SqlString (Maybe a)
- Database.Esqueleto: (%) :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s)
+ Database.Esqueleto: (%) :: (Esqueleto query expr backend, SqlString s) => expr (Value s)
- Database.Esqueleto: (++.) :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value s)
+ Database.Esqueleto: (++.) :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value s)
- Database.Esqueleto: class SqlString a
+ Database.Esqueleto: class PersistField a => SqlString a
- Database.Esqueleto: concat_ :: (Esqueleto query expr backend, PersistField s, SqlString s) => [expr (Value s)] -> expr (Value s)
+ Database.Esqueleto: concat_ :: (Esqueleto query expr backend, SqlString s) => [expr (Value s)] -> expr (Value s)
- Database.Esqueleto: ilike :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
+ Database.Esqueleto: ilike :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
- Database.Esqueleto: like :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
+ Database.Esqueleto: like :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
- Database.Esqueleto: lower_ :: (Esqueleto query expr backend, PersistField a, SqlString a) => expr (Value a) -> expr (Value a)
+ Database.Esqueleto: lower_ :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s)
- Database.Esqueleto.Internal.Language: (%) :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s)
+ Database.Esqueleto.Internal.Language: (%) :: (Esqueleto query expr backend, SqlString s) => expr (Value s)
- Database.Esqueleto.Internal.Language: (++.) :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value s)
+ Database.Esqueleto.Internal.Language: (++.) :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value s)
- Database.Esqueleto.Internal.Language: class SqlString a
+ Database.Esqueleto.Internal.Language: class PersistField a => SqlString a
- Database.Esqueleto.Internal.Language: concat_ :: (Esqueleto query expr backend, PersistField s, SqlString s) => [expr (Value s)] -> expr (Value s)
+ Database.Esqueleto.Internal.Language: concat_ :: (Esqueleto query expr backend, SqlString s) => [expr (Value s)] -> expr (Value s)
- Database.Esqueleto.Internal.Language: ilike :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
+ Database.Esqueleto.Internal.Language: ilike :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
- Database.Esqueleto.Internal.Language: like :: (Esqueleto query expr backend, PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
+ Database.Esqueleto.Internal.Language: like :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)
- Database.Esqueleto.Internal.Language: lower_ :: (Esqueleto query expr backend, PersistField a, SqlString a) => expr (Value a) -> expr (Value a)
+ Database.Esqueleto.Internal.Language: lower_ :: (Esqueleto query expr backend, SqlString s) => expr (Value s) -> expr (Value s)

Files

esqueleto.cabal view
@@ -1,5 +1,5 @@ name:                esqueleto-version:             2.3.0+version:             2.4.0 synopsis:            Type-safe EDSL for SQL queries on persistent backends. homepage:            https://github.com/prowdsponsor/esqueleto license:             BSD3
src/Database/Esqueleto.hs view
@@ -47,7 +47,7 @@              , random_, round_, ceiling_, floor_              , min_, max_, sum_, avg_, castNum, castNumM              , coalesce, coalesceDefault-             , lower_, like, ilike, (%), concat_, (++.)+             , lower_, like, ilike, (%), concat_, (++.), castString              , subList_select, subList_selectDistinct, valList, justList              , in_, notIn, exists, notExists              , set, (=.), (+=.), (-=.), (*=.), (/=.)
src/Database/Esqueleto/Internal/Language.hs view
@@ -397,15 +397,15 @@   coalesceDefault :: PersistField a => [expr (Value (Maybe a))] -> expr (Value a) -> expr (Value a)    -- | @LOWER@ function.-  lower_ :: (PersistField a, SqlString a) => expr (Value a) -> expr (Value a)+  lower_ :: SqlString s => expr (Value s) -> expr (Value s)   -- | @LIKE@ operator.-  like :: (PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)+  like :: SqlString s => expr (Value s) -> expr (Value s) -> expr (Value Bool)   -- | @ILIKE@ operator (case-insensitive @LIKE@).   --   -- Supported by PostgreSQL only.   --   -- /Since: 2.2.3/-  ilike :: (PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value Bool)+  ilike :: SqlString s => expr (Value s) -> expr (Value s) -> expr (Value Bool)   -- | The string @'%'@.  May be useful while using 'like' and   -- concatenation ('concat_' or '++.', depending on your   -- database).  Note that you always to type the parenthesis,@@ -414,14 +414,25 @@   -- @   -- name `'like`` (%) ++. 'val' \"John\" ++. (%)   -- @-  (%) :: (PersistField s, SqlString s) => expr (Value s)+  (%) :: SqlString s => expr (Value s)   -- | The @CONCAT@ function with a variable number of   -- parameters.  Supported by MySQL and PostgreSQL.-  concat_ :: (PersistField s, SqlString s) => [expr (Value s)] -> expr (Value s)+  concat_ :: SqlString s => [expr (Value s)] -> expr (Value s)   -- | The @||@ string concatenation operator (named after   -- Haskell's '++' in order to avoid naming clash with '||.').   -- Supported by SQLite and PostgreSQL.-  (++.) :: (PersistField s, SqlString s) => expr (Value s) -> expr (Value s) -> expr (Value s)+  (++.) :: SqlString s => expr (Value s) -> expr (Value s) -> expr (Value s)+  -- | Cast a string type into 'Text'.  This function+  -- is very useful if you want to use @newtype@s, or if you want+  -- to apply functions such as 'like' to strings of different+  -- types.+  --+  -- /Safety:/ This is a slightly unsafe function, especially if+  -- you have defined your own instances of 'SqlString'.  Also,+  -- since 'Maybe' is an instance of 'SqlString', it's possible+  -- to turn a nullable value into a non-nullable one.  Avoid+  -- using this function if possible.+  castString :: (SqlString s, SqlString r) => expr (Value s) -> expr (Value r)    -- | Execute a subquery @SELECT@ in an expression.  Returns a   -- list of values.@@ -782,8 +793,8 @@ -- If you have a custom data type or @newtype@, feel free to make -- it an instance of this class. ----- /Since: 2.3.0/-class SqlString a where+-- /Since: 2.4.0/+class PersistField a => SqlString a where  -- | /Since: 2.3.0/ instance (a ~ Char) => SqlString [a] where@@ -798,11 +809,10 @@ instance SqlString B.ByteString where  -- | /Since: 2.3.0/-instance SqlString BL.ByteString where---- | /Since: 2.3.0/ instance SqlString Html where +-- | /Since: 2.4.0/+instance SqlString a => SqlString (Maybe a) where   -- | @FROM@ clause: bring entities into scope.
src/Database/Esqueleto/Internal/Sql.hs view
@@ -488,6 +488,7 @@   (%)     = unsafeSqlValue    "'%'"   concat_ = unsafeSqlFunction "CONCAT"   (++.)   = unsafeSqlBinOp    " || "+  castString = veryUnsafeCoerceSqlExprValue    subList_select         = EList . sub_select   subList_selectDistinct = subList_select . distinct