Revert "Fix pedantic errors"

This reverts commit a104b30da2.
This commit is contained in:
Felipe Lessa 2016-02-12 18:45:45 -02:00
parent 7166172251
commit 3c7c311995
3 changed files with 19 additions and 10 deletions

View File

@ -44,6 +44,7 @@ module Database.Esqueleto.Internal.Language
, else_ , else_
) where ) where
import Control.Applicative (Applicative(..), (<$>))
import Control.Exception (Exception) import Control.Exception (Exception)
import Data.Int (Int64) import Data.Int (Int64)
import Data.Typeable (Typeable) import Data.Typeable (Typeable)
@ -51,6 +52,7 @@ import Database.Esqueleto.Internal.PersistentImport
import Text.Blaze.Html (Html) import Text.Blaze.Html (Html)
import qualified Data.ByteString as B import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text as T import qualified Data.Text as T
import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy as TL

View File

@ -50,6 +50,7 @@ module Database.Esqueleto.Internal.Sql
, veryUnsafeCoerceSqlExprValueList , veryUnsafeCoerceSqlExprValueList
) where ) where
import Control.Applicative (Applicative(..), (<$>), (<$))
import Control.Arrow ((***), first) import Control.Arrow ((***), first)
import Control.Exception (throw, throwIO) import Control.Exception (throw, throwIO)
import Control.Monad (ap, MonadPlus(..), liftM) import Control.Monad (ap, MonadPlus(..), liftM)
@ -59,7 +60,7 @@ import Control.Monad.Trans.Resource (MonadResource)
import Data.Acquire (with, allocateAcquire, Acquire) import Data.Acquire (with, allocateAcquire, Acquire)
import Data.Int (Int64) import Data.Int (Int64)
import Data.List (intersperse) import Data.List (intersperse)
import Data.Monoid (Last(..), (<>)) import Data.Monoid (Last(..), Monoid(..), (<>))
import Data.Proxy (Proxy(..)) import Data.Proxy (Proxy(..))
import Database.Esqueleto.Internal.PersistentImport import Database.Esqueleto.Internal.PersistentImport
import Database.Persist.Sql.Util (entityColumnNames, entityColumnCount, parseEntityValues, isIdField, hasCompositeKey) import Database.Persist.Sql.Util (entityColumnNames, entityColumnCount, parseEntityValues, isIdField, hasCompositeKey)
@ -416,7 +417,6 @@ instance Esqueleto SqlQuery SqlExpr SqlBackend where
where where
toDistinctOn :: SqlExpr OrderBy -> SqlExpr DistinctOn toDistinctOn :: SqlExpr OrderBy -> SqlExpr DistinctOn
toDistinctOn (EOrderBy _ f) = EDistinctOn f toDistinctOn (EOrderBy _ f) = EDistinctOn f
toDistinctOn EOrderRandom = error "toDistinctOn get an EOrderRandom but expect an EOrderBy"
sub_select = sub SELECT sub_select = sub SELECT
sub_selectDistinct = sub_select . distinct sub_selectDistinct = sub_select . distinct
@ -647,7 +647,7 @@ unsafeSqlBinOpComposite op sep a b = ERaw Parens $ compose (listify a) (listify
deconstruct :: (TLB.Builder, [PersistValue]) -> ([TLB.Builder], [PersistValue]) deconstruct :: (TLB.Builder, [PersistValue]) -> ([TLB.Builder], [PersistValue])
deconstruct ("?", [PersistList vals]) = (replicate (length vals) "?", vals) deconstruct ("?", [PersistList vals]) = (replicate (length vals) "?", vals)
deconstruct (b', []) = (TLB.fromLazyText <$> TL.splitOn "," (TLB.toLazyText b'), []) deconstruct (b, []) = (TLB.fromLazyText <$> TL.splitOn "," (TLB.toLazyText b), [])
deconstruct x = err $ "cannot deconstruct " ++ show x ++ "." deconstruct x = err $ "cannot deconstruct " ++ show x ++ "."
compose f1 f2 info compose f1 f2 info

View File

@ -18,17 +18,21 @@
#-} #-}
module Main (main) where module Main (main) where
import Control.Applicative ((<$>))
import Control.Arrow ((&&&))
import Control.Exception (IOException)
import Control.Monad (forM_, replicateM, replicateM_, void) import Control.Monad (forM_, replicateM, replicateM_, void)
import Control.Monad.IO.Class (MonadIO(liftIO)) import Control.Monad.IO.Class (MonadIO(liftIO))
import Control.Monad.Logger (MonadLogger(..), runStderrLoggingT, runNoLoggingT) import Control.Monad.Logger (MonadLogger(..), runStderrLoggingT, runNoLoggingT)
import Control.Monad.Trans.Control (MonadBaseControl(..)) import Control.Monad.Trans.Control (MonadBaseControl(..))
import Control.Monad.Trans.Reader (ReaderT) import Control.Monad.Trans.Reader (ReaderT)
import Data.Char (toLower, toUpper) import Data.Char (toLower, toUpper)
import Data.List (sortBy)
import Data.Monoid ((<>)) import Data.Monoid ((<>))
import Data.Ord (comparing)
import Database.Esqueleto import Database.Esqueleto
#if defined (WITH_POSTGRESQL) #if defined (WITH_POSTGRESQL)
import Database.Persist.Postgresql (withPostgresqlConn) import Database.Persist.Postgresql (withPostgresqlConn)
import qualified Database.Esqueleto.PostgreSQL as EP
#elif defined (WITH_MYSQL) #elif defined (WITH_MYSQL)
import Database.Persist.MySQL ( withMySQLConn import Database.Persist.MySQL ( withMySQLConn
, connectHost , connectHost
@ -49,6 +53,7 @@ import qualified Control.Monad.Trans.Resource as R
import qualified Data.List as L import qualified Data.List as L
import qualified Data.Set as S import qualified Data.Set as S
import qualified Data.Text.Lazy.Builder as TLB import qualified Data.Text.Lazy.Builder as TLB
import qualified Database.Esqueleto.PostgreSQL as EP
import qualified Database.Esqueleto.Internal.Sql as EI import qualified Database.Esqueleto.Internal.Sql as EI
@ -803,6 +808,8 @@ main = do
orderBy [asc title] orderBy [asc title]
return title return title
liftIO $ ret `shouldBe` [ Value t1, Value t2, Value t3 ] liftIO $ ret `shouldBe` [ Value t1, Value t2, Value t3 ]
it "works on a simple example (selectDistinct)" $
selDistTest selectDistinct
it "works on a simple example (select . distinct)" $ it "works on a simple example (select . distinct)" $
selDistTest (select . distinct) selDistTest (select . distinct)
@ -1300,15 +1307,15 @@ main = do
-- reaction to the clause. -- reaction to the clause.
let sanityCheck kind syntax = do let sanityCheck kind syntax = do
let complexQuery = let complexQuery =
from $ \(pl `InnerJoin` pr) -> do from $ \(p1 `InnerJoin` p2) -> do
on (pl ^. PersonName ==. pr ^. PersonName) on (p1 ^. PersonName ==. p2 ^. PersonName)
where_ (pl ^. PersonFavNum >. val 2) where_ (p1 ^. PersonFavNum >. val 2)
orderBy [desc (pr ^. PersonAge)] orderBy [desc (p2 ^. PersonAge)]
limit 3 limit 3
offset 9 offset 9
groupBy (pl ^. PersonId) groupBy (p1 ^. PersonId)
having (countRows <. val (0 :: Int)) having (countRows <. val (0 :: Int))
return (pl, pr) return (p1, p2)
queryWithClause1 = do queryWithClause1 = do
r <- complexQuery r <- complexQuery
locking kind locking kind