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
e152f5b69b
use ExtendedDefaultRules in example
2011-07-30 12:49:37 -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
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
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
c6dd2883d2
Fix typo in conditional compilation
2011-02-22 10:48:14 -05:00
Tony Hannan
a32f0c3234
Make Database.MongoDB.Connection compatible on Windows by not using PortID's UnixSocket constructor unless compiling on Unix
2011-02-22 10:31:54 -05: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
cc93011c13
fix sample code in comment
2010-07-27 18:01:05 -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
Scott R. Parish
e329747c1a
fix type nit for putStrSz
2010-04-15 20:55:00 -05:00
Scott R. Parish
78823834f4
BsonSymbol had a similar utf8 length problem
2010-04-15 20:54:44 -05:00
qxjit (David Vollbracht)
cb223110e6
Fix string size in bson docs to be number of bytes rather than number of utf8 chars
2010-04-15 11:49:25 +08:00
Scott R. Parish
e76012d227
BSON.hs: docs for functions missing such
2010-03-15 07:17:57 -05:00
Scott R. Parish
8df947c704
8e035fded4
missed the Put side
2010-03-14 13:25:44 -05:00
Scott R. Parish
442ed03027
module level documentation to point to tutorials
2010-03-13 22:09:47 -06:00
Scott R. Parish
56fcb3a90e
insert/insertMany/save: create (if needed) and return '_id' field
2010-03-13 21:46:46 -06:00
Scott R. Parish
3956adab00
create global oigInc instance
...
Before if multiple threads instantiated their own ObjectIdGen
structure it would be possible to get duplicate objectid's
generated. By making sure there is a single inc counter, this is
avoided.
2010-03-13 21:44:42 -06:00
Scott R. Parish
e7c58bf4d7
BSON: use Integers to represent oid's, oid generation
2010-03-13 00:23:05 -06:00