packages feed

persistent 1.2.0.2 → 1.2.1

raw patch · 4 files changed

+17/−8 lines, 4 files

Files

Database/Persist/Class/PersistField.hs view
@@ -162,6 +162,7 @@   fromPersistValue (PersistText t) = case reads $ T.unpack t of --  NOTE: Sqlite can store rationals just as string     [(a, "")] -> Right $ toRational (a :: Pico)     _ -> Left $ "Can not read " <> t <> " as Rational (Pico in fact)"+  fromPersistValue (PersistInt64 i) = Right $ fromIntegral i   fromPersistValue x = Left $ "Expected Rational, received: " <> T.pack (show x)  instance PersistField Bool where
Database/Persist/Class/PersistStore.hs view
@@ -34,6 +34,10 @@ class MonadIO m => PersistStore m where     type PersistMonadBackend m +    -- | Get a record by identifier, if available.+    get :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)+        => Key val -> m (Maybe val)+     -- | Create a new record in the database, returning an automatically created     -- key (in SQL an auto-increment id).     insert :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)@@ -44,6 +48,13 @@             => val -> m ()     insert_ val = insert val >> return () +    -- | Create multiple records in the database.+    -- SQL backends currently use the slow default implementation of+    -- @mapM insert@+    insertMany :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)+                => [val] -> m [Key val]+    insertMany = mapM insert+     -- | Create a new record in the database using the given key.     insertKey :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)               => Key val -> val -> m ()@@ -65,10 +76,6 @@     -- not exist.     delete :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)            => Key val -> m ()--    -- | Get a record by identifier, if available.-    get :: (PersistMonadBackend m ~ PersistEntityBackend val, PersistEntity val)-        => Key val -> m (Maybe val)  #define DEF(T) { type PersistMonadBackend (T m) = PersistMonadBackend m; insert = lift . insert; insertKey k = lift . insertKey k; repsert k = lift . repsert k; replace k = lift . replace k; delete = lift . delete; get = lift . get } #define GO(T) instance (PersistStore m) => PersistStore (T m) where DEF(T)
Database/Persist/Sql/Orphan/PersistStore.hs view
@@ -58,9 +58,10 @@     insertKey = insrepHelper "INSERT"      repsert key value = do-        -- FIXME use this for sqlite insrepHelper "REPLACE"-        delete key-        insertKey key value+        mExisting <- get key+        case mExisting of+          Nothing -> insertKey key value+          Just _ -> replace key value      get k = do         conn <- askSqlConn
persistent.cabal view
@@ -1,5 +1,5 @@ name:            persistent-version:         1.2.0.2+version:         1.2.1 license:         MIT license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>