Commit graph

110 commits

Author SHA1 Message Date
Victor Denisov
569d8ccc08 Fix list append complexity issue 2017-04-09 20:43:54 -07:00
Victor Denisov
eeb0c7981d Edit comments slightly 2017-04-09 20:43:54 -07:00
Victor Denisov
80ebc6f756 Throw exception when insertAll encounters big doc
- insertAll should throw an exception if it encounters a document
too big for one message. However all other documents will be inserted.

- slightly edit docs
2017-04-09 20:43:54 -07:00
Victor Denisov
bedaa744ba Add indexes to error reporting 2017-04-09 20:43:54 -07:00
Victor Denisov
86f782db72 Insert remaining values in insertAll and then throw exception 2017-04-09 20:43:54 -07:00
Victor Denisov
139a17248f Fix tests 2017-04-09 20:43:54 -07:00
Victor Denisov
a828806940 Indent several lines 2017-04-09 20:43:54 -07:00
Victor Denisov
af49f43027 Fix splitAtLimit 2017-04-09 20:43:54 -07:00
Victor Denisov
e586fd51cc some minor fixes 2017-04-09 20:43:54 -07:00
Victor Denisov
460c7e735b User WriteFailure instead of WriteError 2017-04-09 20:43:54 -07:00
Victor Denisov
c6bd17f1f4 Replace IORefs with interruptibleFor 2017-04-09 20:43:54 -07:00
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