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 +1/−1
- src/Database/Esqueleto.hs +1/−1
- src/Database/Esqueleto/Internal/Language.hs +21/−11
- src/Database/Esqueleto/Internal/Sql.hs +1/−0
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