diff options
Diffstat (limited to 'fooes.hs')
-rw-r--r-- | fooes.hs | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/fooes.hs b/fooes.hs deleted file mode 100644 index cc7a0f8c3..000000000 --- a/fooes.hs +++ /dev/null @@ -1,42 +0,0 @@ -{-# LANGUAGE QuasiQuotes, TypeFamilies, GeneralizedNewtypeDeriving, TemplateHaskell, - OverloadedStrings, GADTs, FlexibleContexts #-} -import Database.Persist.TH -import Database.Persist.Sqlite (runSqlite) -import Control.Monad.IO.Class (liftIO) -import Control.Monad -import Database.Esqueleto hiding (Key) - -share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| -CachedKey - key String - UniqueKey key - deriving Show - -AssociatedFiles - key CachedKeyId Eq - file FilePath - UniqueKeyFile key file - deriving Show -|] - -main :: IO () -main = runSqlite "foo.db" $ do - runMigration migrateAll - if True then populate else return () - query - -populate = do - forM_ [1..30000] $ \i -> do - --delete $ from $ \f -> do - -- where_ (f ^. CachedKeyKey ==. val (show i)) - k <- insert $ CachedKey (show i) - liftIO $ print ("stored", k) - insert $ AssociatedFiles k ("file" ++show (i+1)) - --insert $ AssociatedFiles k ("otherfile" ++show (i+2)) - -query = forM_ [1..1000] $ \i -> do - r <- select $ from $ \(k, f) -> do - where_ (k ^. CachedKeyKey ==. val (show i)) - where_ (f ^. AssociatedFilesKey ==. k ^. CachedKeyId) - return (f ^. AssociatedFilesFile) - liftIO $ print ("got", r) |