packages feed

snaplet-sqlite-simple 0.4.8.3 → 1.0.0.0

raw patch · 3 files changed

+32/−31 lines, 3 filesdep +exceptionsdep +lifted-basedep +monad-controldep −MonadCatchIO-transformersdep −SafeSemaphoredep ~aesondep ~basedep ~bytestringnew-uploaderPVP ok

version bump matches the API change (PVP)

Dependencies added: exceptions, lifted-base, monad-control, transformers-base

Dependencies removed: MonadCatchIO-transformers, SafeSemaphore

Dependency ranges changed: aeson, base, bytestring, configurator, errors, lens, mtl, snap, text, transformers

API changes (from Hackage documentation)

- Snap.Snaplet.Auth.Backends.SqliteSimple: instance FromField Password
- Snap.Snaplet.Auth.Backends.SqliteSimple: instance FromField UserId
- Snap.Snaplet.Auth.Backends.SqliteSimple: instance FromRow AuthUser
- Snap.Snaplet.Auth.Backends.SqliteSimple: instance IAuthBackend SqliteAuthManager
- Snap.Snaplet.Auth.Backends.SqliteSimple: instance ToField Password
- Snap.Snaplet.SqliteSimple: fromOnly :: Only a -> a
- Snap.Snaplet.SqliteSimple: instance HasSqlite (Handler b Sqlite)
- Snap.Snaplet.SqliteSimple: instance MonadCatchIO m => HasSqlite (ReaderT (Snaplet Sqlite) m)
- Snap.Snaplet.SqliteSimple: instance MonadCatchIO m => HasSqlite (ReaderT Sqlite m)
- Snap.Snaplet.SqliteSimple: sqliteConn :: Sqlite -> MVar Connection
+ Snap.Snaplet.Auth.Backends.SqliteSimple: instance Database.SQLite.Simple.FromField.FromField Snap.Snaplet.Auth.Types.Password
+ Snap.Snaplet.Auth.Backends.SqliteSimple: instance Database.SQLite.Simple.FromField.FromField Snap.Snaplet.Auth.Types.UserId
+ Snap.Snaplet.Auth.Backends.SqliteSimple: instance Database.SQLite.Simple.FromRow.FromRow Snap.Snaplet.Auth.Types.AuthUser
+ Snap.Snaplet.Auth.Backends.SqliteSimple: instance Database.SQLite.Simple.ToField.ToField Snap.Snaplet.Auth.Types.Password
+ Snap.Snaplet.Auth.Backends.SqliteSimple: instance Snap.Snaplet.Auth.AuthManager.IAuthBackend Snap.Snaplet.Auth.Backends.SqliteSimple.SqliteAuthManager
+ Snap.Snaplet.SqliteSimple: ConversionFailed :: String -> String -> String -> ResultError
+ Snap.Snaplet.SqliteSimple: FormatError :: String -> Query -> [String] -> FormatError
+ Snap.Snaplet.SqliteSimple: Incompatible :: String -> String -> String -> ResultError
+ Snap.Snaplet.SqliteSimple: UnexpectedNull :: String -> String -> String -> ResultError
+ Snap.Snaplet.SqliteSimple: [errHaskellType] :: ResultError -> String
+ Snap.Snaplet.SqliteSimple: [errMessage] :: ResultError -> String
+ Snap.Snaplet.SqliteSimple: [errSQLType] :: ResultError -> String
+ Snap.Snaplet.SqliteSimple: [fmtMessage] :: FormatError -> String
+ Snap.Snaplet.SqliteSimple: [fmtParams] :: FormatError -> [String]
+ Snap.Snaplet.SqliteSimple: [fmtQuery] :: FormatError -> Query
+ Snap.Snaplet.SqliteSimple: [fromOnly] :: Only a -> a
+ Snap.Snaplet.SqliteSimple: [sqliteConn] :: Sqlite -> MVar Connection
+ Snap.Snaplet.SqliteSimple: instance Control.Monad.Base.MonadBase GHC.Types.IO m => Snap.Snaplet.SqliteSimple.HasSqlite (Control.Monad.Trans.Reader.ReaderT (Snap.Snaplet.Internal.Types.Snaplet Snap.Snaplet.SqliteSimple.Sqlite) m)
+ Snap.Snaplet.SqliteSimple: instance Control.Monad.Base.MonadBase GHC.Types.IO m => Snap.Snaplet.SqliteSimple.HasSqlite (Control.Monad.Trans.Reader.ReaderT Snap.Snaplet.SqliteSimple.Sqlite m)
+ Snap.Snaplet.SqliteSimple: instance Snap.Snaplet.SqliteSimple.HasSqlite (Snap.Snaplet.Internal.Types.Handler b Snap.Snaplet.SqliteSimple.Sqlite)
- Snap.Snaplet.SqliteSimple: class MonadCatchIO m => HasSqlite m
+ Snap.Snaplet.SqliteSimple: class (MonadBase IO m) => HasSqlite m
- Snap.Snaplet.SqliteSimple: execute :: (HasSqlite m, ToRow q, MonadCatchIO m) => Query -> q -> m ()
+ Snap.Snaplet.SqliteSimple: execute :: (HasSqlite m, ToRow q) => Query -> q -> m ()
- Snap.Snaplet.SqliteSimple: execute_ :: (HasSqlite m, MonadCatchIO m) => Query -> m ()
+ Snap.Snaplet.SqliteSimple: execute_ :: (HasSqlite m) => Query -> m ()
- Snap.Snaplet.SqliteSimple: fromRow :: FromRow a => RowParser a
+ Snap.Snaplet.SqliteSimple: fromRow :: RowParser a
- Snap.Snaplet.SqliteSimple: toRow :: ToRow a => a -> [SQLData]
+ Snap.Snaplet.SqliteSimple: toRow :: a -> [SQLData]
- Snap.Snaplet.SqliteSimple: withSqlite :: HasSqlite m => (Connection -> IO b) -> m b
+ Snap.Snaplet.SqliteSimple: withSqlite :: (HasSqlite m) => (Connection -> IO b) -> m b

Files

snaplet-sqlite-simple.cabal view
@@ -1,5 +1,5 @@ name:           snaplet-sqlite-simple-version:        0.4.8.3+version:        1.0.0.0 synopsis:       sqlite-simple snaplet for the Snap Framework description:    This snaplet provides support for using the SQLite                 database with a Snap Framework application via the@@ -20,6 +20,7 @@ license-file:   LICENSE author:         Janne Hellsten, Doug Beardsley maintainer:     Janne Hellsten <jjhellst@gmail.com>+          ,     Sergey Bushnyak <sergey.bushnyak@sigrlami.eu>   build-type:     Simple cabal-version:  >= 1.10 homepage:       https://github.com/nurpax/snaplet-sqlite-simple@@ -47,19 +48,21 @@     Paths_snaplet_sqlite_simple    build-depends:-    aeson                      >= 0.6     && < 0.10,     base                       >= 4       && < 5,+    aeson                      >= 0.11.1.4,     bytestring                 >= 0.9.1   && < 0.11,     clientsession              >= 0.8     && < 0.10,-    configurator               >= 0.2     && < 0.4,-    lens                       >= 3.7.6   && < 5,-    MonadCatchIO-transformers  >= 0.3     && < 0.4,+    configurator               >= 0.3,+    lifted-base                >= 0.2     && < 0.3,+    monad-control              >= 1.0.1.0,+    lens                       >= 4.0     && < 5,     mtl                        >= 2       && < 3,     sqlite-simple              >= 0.4.1   && < 1.0,     direct-sqlite              >= 2.3.3   && < 2.4,-    snap                       >= 0.13    && < 0.15,-    text                       >= 0.11    && < 1.3,-    transformers               >= 0.3     && < 0.5,+    snap                       >= 1.0     && < 1.1,+    text                       >= 1.2,+    transformers               >= 0.4,+    transformers-base          >= 0.4     && < 0.5,     unordered-containers       >= 0.2     && < 0.3  @@ -80,28 +83,27 @@   build-depends:     aeson,     HUnit                      >= 1.2      && < 2,-    MonadCatchIO-transformers,-    base,-    bytestring,+    exceptions                 >= 0.8,+    base                       >= 4        && < 5,+    bytestring                 >= 0.9      && < 0.11,     clientsession,-    configurator,+    configurator               >= 0.3,     containers                 >= 0.3,     directory                  >= 1.0      && < 1.3,-    errors                     >= 1.3.1    && < 1.5,-    lens,-    mtl,-    SafeSemaphore,+    errors                     >= 2.1.2,+    lens                       >= 4.0     && < 5,+    mtl                        >= 2,     snap-core,-    snap,+    snap                       >= 1.0      && < 1.1,     snaplet-sqlite-simple,     sqlite-simple,     stm                        >= 2.4,     test-framework             >= 0.6      && < 0.9,     test-framework-hunit       >= 0.2.7    && < 0.4,-    text,+    text                       >= 1.2,     time                       >= 1.1,-    transformers,-    unordered-containers       >= 0.2     && < 0.3+    transformers               >= 0.4,+    unordered-containers       >= 0.2      && < 0.3    default-extensions:     FlexibleInstances
src/Snap/Snaplet/Auth/Backends/SqliteSimple.hs view
@@ -1,8 +1,8 @@ {-# LANGUAGE BangPatterns      #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards   #-}-{-# LANGUAGE FlexibleContexts  #-} {-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE FlexibleContexts      #-}  {-| @@ -39,9 +39,8 @@   ) where  -------------------------------------------------------------------------------import           Control.Applicative ((<$>), (<*>)) import           Control.Concurrent-import           Control.Lens ((^#))+import           Control.Lens import           Control.Monad import           Control.Monad.IO.Class import qualified Data.Aeson as A
src/Snap/Snaplet/SqliteSimple.hs view
@@ -87,8 +87,8 @@ import           Prelude hiding (catch)  import           Control.Concurrent-import           Control.Lens ((^#))-import           Control.Monad.CatchIO hiding (Handler)+import           Control.Lens+import           Control.Monad.Base import           Control.Monad.IO.Class import           Control.Monad.State import           Control.Monad.Trans.Reader@@ -120,7 +120,7 @@ -- the sqlite snaplet in your application, then don't provide this instance -- and leverage the default instance by using \"@with dbLens@\" in front of calls -- to snaplet-sqlite-simple functions.-class (MonadCatchIO m) => HasSqlite m where+class (MonadBase IO m) => HasSqlite m where     getSqliteState :: m Sqlite  @@ -136,14 +136,14 @@ -- -- > d <- nestSnaplet "db" db sqliteInit -- > count <- liftIO $ runReaderT (execute "INSERT ..." params) d-instance (MonadCatchIO m) => HasSqlite (ReaderT (Snaplet Sqlite) m) where+instance (MonadBase IO m) => HasSqlite (ReaderT (Snaplet Sqlite) m) where     getSqliteState = asks (\sqlsnaplet -> sqlsnaplet ^# snapletValue)   ------------------------------------------------------------------------------ -- | A convenience instance to make it easier to use functions written for -- this snaplet in non-snaplet contexts.-instance (MonadCatchIO m) => HasSqlite (ReaderT Sqlite m) where+instance (MonadBase IO m) => HasSqlite (ReaderT Sqlite m) where     getSqliteState = ask  @@ -191,7 +191,7 @@ withSqlite f = do     s <- getSqliteState     let conn = sqliteConn s-    liftIO $ withMVar conn f+    liftBase $ withMVar conn f  ------------------------------------------------------------------------------ -- | See 'S.query'@@ -214,7 +214,7 @@ -- | -- -- See also 'withSqlite' for notes on concurrent access.-execute :: (HasSqlite m, ToRow q, MonadCatchIO m)+execute :: (HasSqlite m, ToRow q)         => S.Query -> q -> m () execute template qs = withSqlite (\c -> S.execute c template qs) @@ -223,6 +223,6 @@ -- | -- -- See also 'withSqlite' for notes on concurrent access.-execute_ :: (HasSqlite m, MonadCatchIO m)+execute_ :: (HasSqlite m)          => S.Query -> m () execute_ template = withSqlite (`S.execute_` template)