Victor Denisov
d9db9bca52
Add declaration of interruptibleFor function
2017-04-09 20:43:54 -07:00
Victor Denisov
316ae02ecc
Handle errors properly for ordered updates
2017-04-09 20:43:54 -07:00
Victor Denisov
f81d5ec42e
Handle exceptions in updateBlock
2017-04-09 20:43:54 -07:00
Victor Denisov
692cdb94c7
Mark update command as failed if there are write concern errors
2017-04-09 20:43:54 -07:00
Victor Denisov
6fe3cd982d
Fix unit tests
...
updateMany and updateAll don't throw exceptions.
They return UpdateResult which reports errors.
2017-04-09 20:43:54 -07:00
Victor Denisov
1898928cf0
Calculate filed total of update command
2017-04-09 20:43:54 -07:00
Victor Denisov
da0441d454
Process legacy command as in mongoc
2017-04-09 20:43:54 -07:00
Victor Denisov
29286fa2e0
Implement more careful processing of error codes
2017-04-09 20:43:54 -07:00
Victor Denisov
74e8aa205d
Keep write concern errors in list
2017-04-09 20:43:54 -07:00
Victor Denisov
b6fa6ea402
Add WriteConcernError to UpdateResult
2017-04-09 20:43:54 -07:00
Victor Denisov
10675a0673
Report errors in UpdateResult instead of Exceptions
2017-04-09 20:43:54 -07:00
Victor Denisov
5254793767
Throw exceptions in case of single document updates
2017-04-09 20:43:54 -07:00
Victor Denisov
5812753217
Add more documentation
2017-04-09 20:43:54 -07:00
Victor Denisov
399e2c3443
Return update result for old versions of mongodb
2017-04-09 20:43:54 -07:00
Victor Denisov
482fb570c3
Drop MonadBaseControl requirement
2016-08-06 15:17:03 -07:00
Victor Denisov
b9be757039
Restrict type of write function
2016-08-06 13:28:36 -07:00
Victor Denisov
8348045cc5
Inline send function
2016-08-05 20:29:20 -07:00
Victor Denisov
b34162f084
Put request function out of Action monad
2016-08-04 22:58:25 -07:00
Victor Denisov
419b3c19fb
Inline call function
2016-08-04 22:23:30 -07:00
Victor Denisov
d40d87500f
Fix warning in authSCRAM
2016-06-19 20:49:56 -07:00
Victor Denisov
f3e1f3b42d
Put new functions into proper sections
2016-06-19 20:49:44 -07:00
Victor Denisov
0ceefaec73
Implement bulk delete operation
2016-06-19 17:18:35 -07:00
Victor Denisov
15ba90784e
Fix bulk update documentation
2016-06-19 17:03:58 -07:00
Victor Denisov
18ed370b90
Implement write concern for new version of insert
2016-06-18 22:30:32 -07:00
Victor Denisov
8091afe4a0
Hide Internal module
2016-06-16 11:27:03 -07:00
Victor Denisov
97400c074d
Implement bulk update operation
2016-06-14 00:37:43 -07:00
Victor Denisov
ff0962b1d3
Remove debug output
2016-06-06 22:44:12 -07:00
Victor Denisov
3a4ebcb23b
Insert the list of documents into chunks
2016-05-29 23:14:04 -07:00
Victor Denisov
a632e8ff55
Collect size restrictions from the server
2016-05-26 23:03:55 -07:00
Victor Denisov
d123460b40
Implement insert using command mechanism
2016-05-25 00:12:32 -07:00
Victor Denisov
5b97fb4ade
Use listCollections command if protocol version is > 2
2016-05-21 13:32:04 -07:00
Victor Denisov
2ba71ca277
Retrieve server data on connection
2016-05-21 13:32:04 -07:00
Yuras Shumovich
0b4e3d96ed
Support mongolab SCRAM auth
...
For some reason mongolab requires additional message exchange round.
2015-11-30 15:55:20 +03:00
Victor Denisov
8af6a82ec8
Clean trailing whitespaces
2015-11-07 10:37:40 -08:00
Ralph Morton
6f5f76afbb
Add support for SCRAM-SHA-1 authentication
2015-11-01 18:05:39 +02:00
Victor Denisov
75470af421
Retrieve another batch for next in case of unlimited request
2015-09-29 22:42:22 -07:00
Victor Denisov
dca5ae051a
Apply reviewer's comments
2015-07-31 03:25:01 -07:00
Victor Denisov
5e72c8ad61
Handle the case when mongodb returns less documents than cursor requested
...
If we request certain amount of values from a cursor the mongo db server can
return less than requested. So, if we provide -100000 then mongodb may
return 97899 and close the cursor.
Instead of relying on negative values this implementation will use only
positive numbers and will close the cursor itself as soon as the driver
receives enough results.
It fixes the issue #24 from github.
2015-06-19 18:23:44 -07:00
Greg Weber
15b14c0acb
Merge pull request #21 from mschristiansen/patch-2
...
Remove Control.Applicative imports and tab character
2015-05-16 11:40:11 -05:00
Mikkel Christiansen
f69440d7fa
Remove applicative import warnings in GHC 7.10.1.
2015-05-15 15:26:34 +02:00
Mikkel Christiansen
6d877b4da2
Change all instances of myPipe, etc. to mongoPipe, etc.
2015-05-15 09:58:25 +02:00
Mikkel Christiansen
78c0619e02
Export MongoContext constructor
...
I have a reader monad with app configuration that I would like to make an instance of HasMongoContext and then need the MongoContext constructor to add a MongoContext to my own reader monad.
2015-05-14 14:53:08 +02:00
Greg Weber
a047c309e5
better findAndModify error handling
2014-07-24 08:12:44 -07:00
Greg Weber
f2a6307530
repsert -> upsert
2014-07-24 08:12:15 -07:00
Greg Weber
d2d4f9534c
export defFamUpdateOpts
2014-07-19 19:32:33 -07:00
Greg Weber
9259d392d3
add findAndModifyOpts
...
supports the full range of optiosn for findAndModify
2014-07-08 12:44:41 -07:00
Fedor Gogolev
5ca3b1c210
Fix merge conflict
2014-04-12 17:17:47 +04:00
Fedor Gogolev
adb57dce72
Merge branch 'pr-20'
...
Conflicts:
Database/MongoDB/Query.hs
2014-04-12 17:06:52 +04:00
Sean Leather
61c333eee1
Link 'find' and 'delete' in 'select' documentation
2014-03-09 17:21:30 +02:00
Michael Snoyman
a43c94f977
Remove MonadIO'
2013-12-27 13:39:22 +02:00
Michael Snoyman
3a97c2cbdb
Turn Action into a type synonym, not a newtype
2013-12-26 17:32:21 +02:00
Michael Snoyman
ab5fcb1f78
HasMongoContext instead of liftDB
2013-12-26 17:28:44 +02:00
Michael Snoyman
bd3d90f740
Rename Context to MongoContext
2013-12-26 17:24:15 +02:00
Michael Snoyman
caab81a54e
Get rid of usage of ErrorT
2013-12-26 17:23:02 +02:00
Michael Snoyman
756c9181cb
Replace hard tabs with spaces
2013-12-26 16:57:33 +02:00
Edward Z. Yang
4ce8a44011
Fix some warnings.
...
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
2013-11-06 23:15:50 -08:00
Greg Weber
57722a7d43
handle findAndModify edge cases
...
also give better error messages
2013-08-29 11:57:07 -07:00
Greg Weber
45a0e8e9e2
add findAndModify command
2013-06-06 08:00:00 -07:00
Timo von Holtz
83cae75efc
Added Support for Aggregate Framework
2013-05-24 00:15:56 +02:00
Amit Aryeh Levy
5ce857a4db
Make sure 7.6 modifications stil compile with 7.4
2012-10-23 16:49:29 -04:00
Amit Aryeh Levy
ed0c264a35
GHC 7.6 Support
...
lifted-base no longer contains addMVarFinalizer
2012-10-19 02:29:10 -07:00
Fedor Gogolev
4ae4f793e3
Function eval
returns Val v
instead of Document
...
Fixes #1
2012-07-09 08:26:58 +04:00
Fedor Gogolev
dd6a3010f6
Cleaned up imports
2012-06-10 23:47:14 +04:00
Fedor Gogolev
17f528e835
Use text instead of compact-string-fix
2012-05-08 19:13:25 +04:00
Tony Hannan
5e015dc769
Merge pull request #14 from yesodweb/show-AccessMode
...
show instance for AccessMode
2012-01-28 15:50:53 -08:00
Greg Weber
6ef19663cf
show instance for AccessMode
2012-01-27 12:48:54 -03:00
Tony Hannan
2f23e78c28
Use MVar from lifted-base
2012-01-23 20:45:10 -05:00
Tony Hannan
d0aeb42e7c
merge duplicate code
2012-01-23 19:45:42 -05:00
Michael S. Craig
fa95b65fad
Fix for bad behavior when using TailableCursor.
...
`Database.MongoDB.Query.next` and `nextBatch` prefetch a promise of the next
batch of documents from the server whenever the current batch has been
exhausted. The following call to `next` or `nextBatch` fulfills that promise
(thereby turning it into a concrete batch of documents) and then returns one or
more documents in the batch.
The old behavior was to raise an exception if an empty batch with a nonzero
cursor ID was encountered. This is normal when using tailable cursors, so a
change was required.
Now, `Nothing` is returned with the still-live cursor ID, instead of raising
the exception. Also, prefetched empty batches with nonzero cursor IDs are
refetched once per call to avoid stale data.
This new prefetching behavior does not affect the performance of `next`, except
when calling it repeatedly on a tailable cursor with no new data. In those
(generally avoidable) cases, each call to `next` results in two server calls
instead of one.
2011-12-13 11:02:57 -05:00
Nathan Howell
b18f81f431
Updating to monad-control-0.3, with help from Bas van Dijk.
...
Conflicts:
Database/MongoDB/Query.hs
2011-12-05 09:23:39 -08:00
Tony Hannan
d506011cd1
fix some warnings. bump version for previous 7.2.1 compatibility fix
2011-11-10 10:23:07 -05:00
Ryan Trinkle
ccd217053b
fix missing record field in P.Request value
...
the fields of a Database.MongoDB.Internal.Protocol.Query were not filled in by RecordWildcard on line 411 of Database/MongoDB/Query.hs because the record fields were not in scope
2011-10-27 15:24:37 -04:00
Tony Hannan
efb6b65506
QueryFailure error code
2011-09-07 12:09:20 -04:00
Michael Snoyman
a320c363e4
Move to monad-control
2011-08-25 16:29:39 +03:00
Tony Hannan
4307fea5aa
collect ids from insert lazily in case not used
2011-08-18 19:41:32 -04:00
Tony Hannan
c99cb54251
Partial results option
2011-07-22 10:38:50 -04:00
Tony Hannan
17ceb53234
tailable cursor
2011-07-22 10:31:24 -04:00
Tony Hannan
58f83838de
Cursor nextBatch
2011-07-21 18:50:52 -04:00
Tony Hannan
5e4a8aee3f
insertAll (KeepGoing)
2011-07-21 16:39:19 -04:00
Tony Hannan
acb0d62aa2
Intro to Haskell article (first draft)
2011-07-14 18:47:14 -04:00
Tony Hannan
8025ac4ec4
Small edits to some comments. fix secondaryOk to return master only when no secondaries available
2011-07-13 15:34:52 -04:00
Tony Hannan
8672652395
move Pool to System.IO. update docs
2011-07-12 10:51:54 -04:00
Tony Hannan
23fdaee494
renamed docs/ to doc/
2011-07-08 22:33:52 -04:00
Tony Hannan
91c88c0a14
combined read & write mode into a single access mode. newtyped Action monad. liftDB for monads stacked on top of Action. fetch op
2011-07-08 22:13:47 -04:00
Tony Hannan
9f48c26384
Simplify! Removed Context and Throw monad classes. Removed embedded pool from replica-set. Not backwards-compatible, starts new major version 1.x
2011-07-05 10:37:01 -04:00
Tony Hannan
f7ae5b7235
MapReduce updated to work with MongoDB version >= 1.7.4
2011-06-22 17:18:32 -04:00
Tony Hannan
a399e81925
Access monad no longer needs to be a MonadMVar
2011-01-26 14:25:12 -05:00
Tony Hannan
73012bb430
Single param Network instance. NetworkIO instance of IO that yields Internet so user does not have to supply it
2010-12-27 00:23:02 -05:00
Tony Hannan
111d9a2f72
Abstract network communication so we can capture and replay messages if desired. Also, remove dependence on deprecated ImpredicativeTypes.
2010-12-19 21:08:53 -05:00
Tony Hannan
8da53a3fa3
Use Monad.MVar. Remove Delayed wrapper around promise.
2010-11-01 15:35:13 -04:00
Tony Hannan
36cc86fd70
Rename Connection to ConnPool. Edit tutorial and some comments
2010-10-31 20:38:38 -04:00
Tony Hannan
583f8330c7
Fix compile warnings
2010-10-27 16:46:11 -04:00
Tony Hannan
de32b22b4f
Connection pooling and some refactoring
2010-10-27 16:13:23 -04:00
Tony Hannan
2568f9e530
remove a couple shadow warnings
2010-07-27 17:30:52 -04:00
Tony Hannan
3a7f235246
Slight API refactoring. Fix spinning pipeline when other end disconnects. Handle response flags correctly
2010-07-27 17:18:53 -04:00
Tony Hannan
6435bc3cd9
Handle response flags correctly, plus some comment changes
2010-07-03 13:15:30 -04:00
Tony Hannan
c9dc87ad33
Slight redesign: pipelining with writeMode instead of exclusive access with getLastError
2010-06-21 11:06:20 -04:00
Tony Hannan
d0ddc814a9
Change comments to reflect new knowledge that a cursor persists across connections, and map/reduce temp output is accessible from all connections as long as original remains alive
2010-06-15 16:15:37 -04:00
Tony Hannan
3e4065cd97
See V0.5.0-Redesign.md for description of changes in this commit
2010-06-14 23:14:40 -04:00