commit
ef819eb1aa
3 changed files with 8 additions and 2 deletions
|
@ -2,6 +2,11 @@
|
|||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Package Versioning Policy](https://wiki.haskell.org/Package_versioning_policy).
|
||||
|
||||
## [2.3.0] - unreleased
|
||||
|
||||
### Changed
|
||||
- Description of access function
|
||||
|
||||
## [2.2.0] - 2017-04-08
|
||||
|
||||
### Added
|
||||
|
|
|
@ -116,7 +116,8 @@ type Action = ReaderT MongoContext
|
|||
-- ^ A monad on top of m (which must be a MonadIO) that may access the database and may fail with a DB 'Failure'
|
||||
|
||||
access :: (MonadIO m) => Pipe -> AccessMode -> Database -> Action m a -> m a
|
||||
-- ^ Run action against database on server at other end of pipe. Use access mode for any reads and writes. Return Left on connection failure or read/write failure.
|
||||
-- ^ Run action against database on server at other end of pipe. Use access mode for any reads and writes.
|
||||
-- Throw 'Failure' in case of any error.
|
||||
access mongoPipe mongoAccessMode mongoDatabase action = runReaderT action MongoContext{..}
|
||||
|
||||
-- | A connection failure, or a read or write exception like cursor expired or inserting a duplicate key.
|
||||
|
|
|
@ -35,7 +35,7 @@ A DB read or write operation is called a DB `Action`. A DB Action is a monad so
|
|||
|
||||
> access pipe master "test" allCollections
|
||||
|
||||
`access` return either Left `Failure` or Right result. Failure means there was a connection failure, or a read/write failure like cursor expired or duplicate key insert.
|
||||
`access` throw `Failure` if there is any issue. Failure means there was a connection failure, or a read/write failure like cursor expired or duplicate key insert.
|
||||
|
||||
`master` is an `AccessMode`. Access mode indicates how reads and writes will be performed. Its three modes are: `ReadStaleOk`, `UnconfirmedWrites`, and `ConfirmWrites GetLastErrorParams`. `master` is just short hand for `ConfirmWrites []`. The first mode may be used against a slave or a master server, the last two must be used against a master server.
|
||||
|
||||
|
|
Loading…
Reference in a new issue