Commit graph

117 commits

Author SHA1 Message Date
Victor Denisov
f57ac94a3b Drop support of mongo 2.6 in updateMany and deleteMany 2017-04-09 20:43:54 -07:00
Victor Denisov
dad19515de Keep old behavior of delete command 2017-04-09 20:43:54 -07:00
Victor Denisov
d1d5f84b22 Keep old behavior of update 2017-04-09 20:43:54 -07:00
Victor Denisov
6a13bde01b Set proper index for exception 2017-04-09 20:43:54 -07:00
Victor Denisov
6013272c5d Rewrite delete comand using interruptible for 2017-04-09 20:43:54 -07:00
Victor Denisov
8db991bb5d Rewrite deleteBlock using WriteResult 2017-04-09 20:43:54 -07:00
Victor Denisov
09c05d4b69 Rename UpdateResult to WriteResult
Many fields of DeleteResult overlap with UpdateResult.
It's better to have only one result for all results, just
like it's done in c mongodb driver.
2017-04-09 20:43:54 -07:00
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