packages feed

esqueleto 1.3.5 → 1.3.6

raw patch · 3 files changed

+17/−2 lines, 3 files

Files

esqueleto.cabal view
@@ -1,5 +1,5 @@ name:                esqueleto-version:             1.3.5+version:             1.3.6 synopsis:            Bare bones, type-safe EDSL for SQL queries on persistent backends. homepage:            https://github.com/meteficha/esqueleto license:             BSD3
src/Database/Esqueleto.hs view
@@ -237,7 +237,7 @@ -- -- Since @age@ is an optional @Person@ field, we use 'just' lift -- @val 18 :: SqlExpr (Value Int)@ into @just (val 18) ::--- SqlExpr (Value (Just Int))@.+-- SqlExpr (Value (Maybe Int))@. -- -- Implicit joins are represented by tuples.  For example, to get -- the list of all blog posts and their authors, we could write:
src/Database/Esqueleto/Internal/Sql.hs view
@@ -30,6 +30,7 @@   , unsafeSqlBinOp   , unsafeSqlValue   , unsafeSqlFunction+  , unsafeSqlExtractSubField   , UnsafeSqlFunctionArgument   , rawSelectSource   , runSource@@ -479,6 +480,19 @@           uncommas' $ map (\(ERaw _ f) -> f info) $ toArgList arg     in (name <> parens argsTLB, argsVals) +-- | (Internal) An unsafe SQL function to extract a subfield from a compound+-- field, e.g. datetime. See 'unsafeSqlBinOp' for warnings.+--+-- Since: 1.3.6.+unsafeSqlExtractSubField :: UnsafeSqlFunctionArgument a =>+                     TLB.Builder -> a -> SqlExpr (Value b)+unsafeSqlExtractSubField subField arg =+  ERaw Never $ \info ->+    let (argsTLB, argsVals) =+          uncommas' $ map (\(ERaw _ f) -> f info) $ toArgList arg+    in ("EXTRACT" <> parens (subField <> " FROM " <> argsTLB), argsVals)++ class UnsafeSqlFunctionArgument a where   toArgList :: a -> [SqlExpr (Value ())] instance (a ~ Value b) => UnsafeSqlFunctionArgument (SqlExpr a) where@@ -501,6 +515,7 @@          , UnsafeSqlFunctionArgument d          ) => UnsafeSqlFunctionArgument (a, b, c, d) where   toArgList = toArgList . from4+   -- | (Internal) Coerce a value's type from 'SqlExpr (Value a)' to