Browse Source

Merge pull request #251 from gregwebs/yesod-1.2

upgrade to yesod 1.2
Patrick Falls 12 years ago
parent
commit
9b4bbfc673
2 changed files with 19 additions and 21 deletions
  1. 5 5
      yesod/bench/bench.cabal
  2. 14 16
      yesod/bench/src/yesod.hs

+ 5 - 5
yesod/bench/bench.cabal

@@ -18,17 +18,17 @@ executable         bench
                 EmptyDataDecls
                 EmptyDataDecls
 
 
     build-depends: base                          >= 4          && < 5
     build-depends: base                          >= 4          && < 5
-                 , yesod                         >= 1.1.5      && < 1.2
+                 , yesod                         >= 1.2        && < 1.3
                  , text                          >= 0.11       && < 0.12
                  , text                          >= 0.11       && < 0.12
-                 , persistent                    >= 1.1        && < 1.2
-                 , persistent-mysql              >= 1.1        && < 1.2
-                 , persistent-mongoDB            >= 1.1.6      && < 1.2
+                 , persistent                    >= 1.2        && < 1.3
+                 , persistent-mysql              >= 1.2        && < 1.3
+                 , persistent-mongoDB            >= 1.2        && < 1.3
                  , warp                          >= 1.3        && < 1.4
                  , warp                          >= 1.3        && < 1.4
                  , unix                          >= 2.5
                  , unix                          >= 2.5
                  , network-conduit               >= 1.0
                  , network-conduit               >= 1.0
                  , primitive                     >= 0.5
                  , primitive                     >= 0.5
                  , mwc-random                    >= 0.12
                  , mwc-random                    >= 0.12
-                 , pool-conduit                  >= 0.1
+                 , pool-conduit                  >= 0.1.2
                  , network
                  , network
                  , mongoDB
                  , mongoDB
                  , aeson
                  , aeson

+ 14 - 16
yesod/bench/src/yesod.hs

@@ -8,7 +8,6 @@ import System.Environment (getArgs)
 import qualified Network.Wai.Handler.Warp as Warp
 import qualified Network.Wai.Handler.Warp as Warp
 import Data.Text (Text)
 import Data.Text (Text)
 import Data.Conduit.Pool (Pool)
 import Data.Conduit.Pool (Pool)
-import Database.Persist.Store (PersistValue (PersistInt64))
 import qualified Database.Persist.MySQL as My
 import qualified Database.Persist.MySQL as My
 import qualified Database.Persist.MongoDB as Mongo
 import qualified Database.Persist.MongoDB as Mongo
 import qualified Database.MongoDB as Mongo
 import qualified Database.MongoDB as Mongo
@@ -21,9 +20,8 @@ import System.Posix.Process (forkProcess)
 import Control.Monad (replicateM_)
 import Control.Monad (replicateM_)
 import Network (PortID (PortNumber))
 import Network (PortID (PortNumber))
 import Data.Int (Int64)
 import Data.Int (Int64)
-import Data.Aeson (ToJSON(..))
 
 
-mkPersist sqlSettings [persist|
+mkPersist sqlSettings [persistLowerCase|
 World sql=World
 World sql=World
     randomNumber Int sql=randomNumber
     randomNumber Int sql=randomNumber
 |]
 |]
@@ -54,39 +52,39 @@ instance Yesod App where
     shouldLog _ _ _ = False
     shouldLog _ _ _ = False
     yesodMiddleware = id
     yesodMiddleware = id
 
 
-getJsonR :: Handler RepJson
-getJsonR = jsonToRepJson $ object ["message" .= ("Hello, World!" :: Text)]
+getJsonR :: Handler Value
+getJsonR = return $ object ["message" .= ("Hello, World!" :: Text)]
 
 
 
 
-getDbR :: Handler RepJson
+getDbR :: Handler Value
 getDbR = getDb (intQuery runMySQL )
 getDbR = getDb (intQuery runMySQL )
 
 
-getMongoDbR :: Handler RepJson
+getMongoDbR :: Handler Value
 getMongoDbR = getDb (intQuery runMongoDB )
 getMongoDbR = getDb (intQuery runMongoDB )
 
 
-getMongoRawDbR :: Handler RepJson
+getMongoRawDbR :: Handler Value
 getMongoRawDbR = getDb rawMongoIntQuery
 getMongoRawDbR = getDb rawMongoIntQuery
 
 
-getDbsR :: Int -> Handler RepJson
+getDbsR :: Int -> Handler Value
 getDbsR cnt = do
 getDbsR cnt = do
     App {..} <- getYesod
     App {..} <- getYesod
     multiRandomHandler (intQuery runMySQL) cnt
     multiRandomHandler (intQuery runMySQL) cnt
 
 
-getMongoDbsR :: Int -> Handler RepJson
+getMongoDbsR :: Int -> Handler Value
 getMongoDbsR cnt = multiRandomHandler (intQuery runMongoDB) cnt
 getMongoDbsR cnt = multiRandomHandler (intQuery runMongoDB) cnt
 
 
-getMongoRawDbsR :: Int -> Handler RepJson
+getMongoRawDbsR :: Int -> Handler Value
 getMongoRawDbsR cnt = multiRandomHandler rawMongoIntQuery cnt
 getMongoRawDbsR cnt = multiRandomHandler rawMongoIntQuery cnt
 
 
 
 
 randomNumber :: R.Gen (PrimState IO) -> IO Int64
 randomNumber :: R.Gen (PrimState IO) -> IO Int64
 randomNumber appGen = R.uniformR (1, 10000) appGen
 randomNumber appGen = R.uniformR (1, 10000) appGen
 
 
-getDb :: ToJSON a => (Int64 -> Handler a) -> Handler RepJson
+getDb :: (Int64 -> Handler Value) -> Handler Value
 getDb query = do
 getDb query = do
     app <- getYesod
     app <- getYesod
     i <- liftIO (randomNumber (appGen app))
     i <- liftIO (randomNumber (appGen app))
-    jsonToRepJson =<< query i
+    query i
 
 
 
 
 runMongoDB :: Mongo.Action Handler b -> Handler b
 runMongoDB :: Mongo.Action Handler b -> Handler b
@@ -94,7 +92,7 @@ runMongoDB f = do
   App {..} <- getYesod
   App {..} <- getYesod
   Mongo.runMongoDBPoolDef f mongoDBPool
   Mongo.runMongoDBPoolDef f mongoDBPool
 
 
-runMySQL :: My.SqlPersist Handler b -> Handler b
+runMySQL :: My.SqlPersistT Handler b -> Handler b
 runMySQL f = do
 runMySQL f = do
   App {..} <- getYesod
   App {..} <- getYesod
   My.runSqlPool f mySqlPool
   My.runSqlPool f mySqlPool
@@ -119,11 +117,11 @@ rawMongoIntQuery i = do
 multiRandomHandler :: ToJSON a
 multiRandomHandler :: ToJSON a
                    => (Int64 -> Handler a)
                    => (Int64 -> Handler a)
                    -> Int
                    -> Int
-                   -> Handler RepJson
+                   -> Handler Value
 multiRandomHandler operation cnt = do
 multiRandomHandler operation cnt = do
     App {..} <- getYesod
     App {..} <- getYesod
     nums <- liftIO $ replicateM cnt (randomNumber appGen)
     nums <- liftIO $ replicateM cnt (randomNumber appGen)
-    jsonToRepJson . array =<< mapM operation nums
+    return . array =<< mapM operation nums
 
 
 documentToJson :: [Field] -> Value
 documentToJson :: [Field] -> Value
 documentToJson = object . map toAssoc
 documentToJson = object . map toAssoc