From 86e4f557d68f4c41a1c0cfe0be23df1db1a36d86 Mon Sep 17 00:00:00 2001 From: Esteban Ibarra Date: Wed, 2 Jan 2019 08:35:31 -0500 Subject: [PATCH] Add haddock --- src/Database/Esqueleto/Internal/Language.hs | 5 ++++- src/Database/Esqueleto/Internal/Sql.hs | 5 +++-- test/Common/Test.hs | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Database/Esqueleto/Internal/Language.hs b/src/Database/Esqueleto/Internal/Language.hs index c86ceee..c6d38c7 100644 --- a/src/Database/Esqueleto/Internal/Language.hs +++ b/src/Database/Esqueleto/Internal/Language.hs @@ -352,7 +352,10 @@ class (Functor query, Applicative query, Monad query) => (/.) :: PersistField a => expr (Value a) -> expr (Value a) -> expr (Value a) (*.) :: PersistField a => expr (Value a) -> expr (Value a) -> expr (Value a) - between :: PersistField typ => expr (Value typ) -> expr (Value typ) -> expr (Value typ) -> expr (Value Bool) + -- | @BETWEEN@ operator + -- + -- /Since: 2.6.0/ + between :: PersistField typ => expr (Value typ) -> (expr (Value typ), expr (Value typ)) -> expr (Value Bool) random_ :: (PersistField a, Num a) => expr (Value a) diff --git a/src/Database/Esqueleto/Internal/Sql.hs b/src/Database/Esqueleto/Internal/Sql.hs index aca54ed..1b9d16a 100644 --- a/src/Database/Esqueleto/Internal/Sql.hs +++ b/src/Database/Esqueleto/Internal/Sql.hs @@ -97,6 +97,7 @@ instance Exception EsqueletoError data CompositeKeyError = NotError + | BetweenError | ToInsertionError | CombineInsertionError | FoldHelpError @@ -533,11 +534,11 @@ instance Esqueleto SqlQuery SqlExpr SqlBackend where (/.) = unsafeSqlBinOp " / " (*.) = unsafeSqlBinOp " * " - between a@(ERaw _ _) (ERaw _ f) (ERaw _ g) = unsafeSqlBinOp " BETWEEN " a $ ERaw Never $ \x -> + a `between` (ERaw _ f, ERaw _ g) = unsafeSqlBinOp " BETWEEN " a $ ERaw Never $ \x -> let (_, fv) = f x (_, gv) = g x in (" ? AND ? ", fv ++ gv) - between _ _ _ = throw (CompositeKeyErr NotError) + _ `between` _ = throw $ CompositeKeyErr BetweenError random_ = unsafeSqlValue "RANDOM()" round_ = unsafeSqlFunction "ROUND" diff --git a/test/Common/Test.hs b/test/Common/Test.hs index 08533e5..a615097 100644 --- a/test/Common/Test.hs +++ b/test/Common/Test.hs @@ -637,7 +637,7 @@ testSelectWhere run = do _ <- insert' p3 ret <- select $ from $ \p -> do - where_ (between (p ^. PersonAge) (just $ val 20) (just $ val 40)) + where_ ((p ^. PersonAge) `between` (just $ val 20, just $ val 40)) return p liftIO $ ret `shouldBe` [ p1e ] it "works with avg_" $