Commit graph

363 commits

Author SHA1 Message Date
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
Tony Hannan
6faad5d866 Merge pull request #9 from alphaHeavy/monad-control
Updating to monad-control-0.3, with help from Bas van Dijk.
2011-12-06 15:17:06 -08: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
Tony Hannan
9dae52a374 Merge pull request #7 from ryantrinkle/master
Fixed brokenness in 7.2.1 (field labels for RecordWildCards must be in scope)
2011-10-28 08:50:18 -07: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
889aaba0f8 fix typo in article 2011-09-12 10:46:24 -04:00
Tony Hannan
bc3866b79c new version using MonadControlIO instead of custom MonadMVar 2011-09-08 18:56:38 -04:00
Tony Hannan
747fd0ae87 fix typo in previous merge 2011-09-07 23:51:57 -04:00
Tony Hannan
efb6b65506 QueryFailure error code 2011-09-07 12:09:20 -04:00
Tony Hannan
81c4f95d5a Merge pull request #4 from yesodweb/master
Use MonadControlIO instead of custom MonadMVar
2011-09-07 09:07:07 -07: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
35801ef052 small edit to slides 2011-07-30 13:12:12 -04:00
Tony Hannan
e152f5b69b use ExtendedDefaultRules in example 2011-07-30 12:49:37 -04:00
Tony Hannan
c2ca221a6c Intro to MongoDB slides 2011-07-28 10:45:10 -04:00
Tony Hannan
dad5134863 remote ghc-option -O because Cabal does it 2011-07-22 10:58:56 -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
19da43a348 connect timeout 2011-07-21 11:27:19 -04:00
Tony Hannan
9d2f09a91e small edit to article 2011-07-19 14:43:53 -04:00
Tony Hannan
66d7bd3ef6 small edit to article 2011-07-19 11:02:23 -04:00
Tony Hannan
61ba31b668 small edit to article 2011-07-19 10:59:38 -04:00
Tony Hannan
a1ed175bc2 small edit to article 2011-07-18 16:33:12 -04:00
Tony Hannan
82a846e918 small edit to article 2011-07-18 16:00:02 -04:00
Tony Hannan
f8b8886f53 small edit to article 2011-07-18 15:46:40 -04:00
Tony Hannan
0e8db8842d small edit to article 2011-07-18 15:29:09 -04:00
Tony Hannan
dfee84203b Finish first draft of Considering Haskell article 2011-07-18 15:21:36 -04:00
Tony Hannan
febd7ba15b Consider Haskell article 2011-07-15 17:43:31 -04:00
Tony Hannan
7a2619df22 Intro to Haskell article (second draft) 2011-07-15 12:14:29 -04:00
Tony Hannan
acb0d62aa2 Intro to Haskell article (first draft) 2011-07-14 18:47:14 -04:00
Tony Hannan
25a827a46c small edit to article 2011-07-13 16:04:37 -04:00
Tony Hannan
e44193f963 small edit to article 2011-07-13 16:03:14 -04:00
Tony Hannan
bba1c7f141 small edit to article 2011-07-13 15:56:16 -04:00
Tony Hannan
5cc5ec477f Fix ReadMe's driver design link 2011-07-13 15:40:48 -04:00
Tony Hannan
b3a4ceba3b design doc 2011-07-13 15:35:44 -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
b52854a457 moved docs to new docs folder. updated tutorial for version 1.0.0 2011-07-08 22:17:44 -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
3db3cc9999 fix minor compiler warnings 2011-03-14 16:28:09 -04:00
Tony Hannan
624890c1a6 fix replica set connection bug 2011-03-14 16:24:28 -04:00
Tony Hannan
db58a9c4ca use md5 from cryptohash package instead of nano-md5 to remove dependency on OpenSSL 2011-03-11 11:11:14 -05:00
Tony Hannan
a1b47687e8 Some additional error checking in connection command reply 2011-03-10 19:37:48 -05:00
Tony Hannan
85e2fc0cbb bump package version 2011-02-22 10:49:29 -05:00