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
Edward Z. Yang
5656f90c27
Convert to use hashtables, as Data.HashTable went away.
...
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
2013-11-06 23:04:16 -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
Fedor Gogolev
46b3f1f3fa
Support for network 2.4.1
2013-01-21 02:08:20 +04: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
Michael Snoyman
681f9f875f
GHC 7.6 support
2012-09-10 20:25:45 +03: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
Greg Weber
b706780844
use -fno-warn-orphans
2012-02-29 11:35:55 -08:00
Andrew Miller
d3f54922cc
Add routedHost as an alternative to primary / secondaryOk that lets the user supply their own sort function. This is useful for applications like preferentially connecting to the host or secondary that is geographically the closest.
2012-02-12 17:34:07 +13: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
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
Scott R. Parish
6045cc5c4b
format nits
2010-03-12 23:54:41 -06:00
Scott R. Parish
108532268b
putI16
2010-03-12 23:03:56 -06:00
Scott R. Parish
ab3b73b9ac
util: type putI8 like the other putI* functions
2010-03-12 23:03:37 -06:00
Scott R. Parish
8e035fded4
DataBinary's subtype ByteArray alone has an extra length
...
ByteArray has the extra length, aparently as a historical artifact,
requiring it to be special cased.
Thanks to Mathias Stearn for pointing this out!
2010-03-10 20:34:58 -06:00
Scott R. Parish
34599280f5
converter for Maybe type
2010-03-09 18:58:42 -06:00
Scott R. Parish
cbc5128d47
mongodb returns count as a double: fix count function
2010-03-09 18:36:15 -06:00
Scott R. Parish
c1b8a21366
restoring array conversion using toBson/fromBson
2010-03-09 18:36:14 -06:00
Scott R. Parish
ece60d87ad
better mapReduce apis
...
+ mapReduce is now the convience function that returns a cursor
+ runMapReduce can be called if you want the intermediate
result meta-data
+ mapReduceResults will take the result meta-data and open a
cursor on it
2010-03-08 19:43:34 -06:00
Scott R. Parish
0a391e631b
mapreduce command
2010-03-08 07:08:34 -06:00
Scott R. Parish
fb2f09171a
change BsonDoc representation to maintain order
...
Turns out that order is sometimes important for BSON documents. Case
in point, "mapreduce" has to be the first field for the map/reduce
command.
To accomidate this we'll switch from using 'Map' to using a tuple-list
(eg '[(L8.ByteString, BsonValue)]'). Luckily most code that was using
toBsonDoc doesn't need to change.
While at it, 'Convertible' is not adding much value, and was causing
ambiguities making it less usefull (was requiring explicit type hints
more then it should have). Thus we are switching to our own conversion
typeclasses.
2010-03-08 07:08:30 -06:00
Scott R. Parish
7587f435a2
support javascript code, rename to BsonJSCode to make it clearer what code
2010-03-08 07:04:04 -06:00
Scott R. Parish
cf9975468f
rename BsonObject to BsonDoc to be more consistant with BSON definition
2010-03-06 12:28:57 -06:00
Scott R. Parish
08b601f124
adding ConnectOpts and an initial SlaveOk option
2010-02-26 19:39:28 -06:00
Scott R. Parish
2cee44d6a3
fix whitespace nits
2010-02-24 07:10:35 -06:00
Scott R. Parish
a3c56b3c2e
simplify findOne
2010-02-24 07:10:35 -06:00
Scott R. Parish
f1fdc0f13b
automatically find and connect to master
2010-02-24 07:10:32 -06:00
Scott R. Parish
b3581b5209
logout
2010-02-06 16:10:52 -06:00
Scott R. Parish
53fe82d117
create auth alias to be consistent with mongo JS api
2010-02-06 15:57:15 -06:00
Scott R. Parish
92f37cc946
make changes suggested by hlint
2010-02-06 15:52:23 -06:00
Scott R. Parish
613fc8ff6d
allow individual ports to be set for connecting to cluster
2010-02-06 15:35:37 -06:00
Scott R. Parish
847e8bac8b
create type aliases for Username and Password
...
This will make the resulting documentation more clear what to pass
to the login and addUser functions
2010-02-06 14:56:56 -06:00
Scott R. Parish
8f972f6dda
fix some haddock problems
...
Unfortunately it seem (emperically) that haddock only allows the pipe
character on the first line of document, not on every line. Or more
literally, it allows them, but treats them as part of the output to
display in the rendered document.
Fixing that, it also wasn't happy about not introducing the code block
as a new paragraph.
2010-02-06 14:52:09 -06:00
Scott R. Parish
34b4d22856
fix whitespace (mostly trailing) introduced in merge
2010-02-06 14:49:39 -06:00
Scott R. Parish
2f452e989c
Merge remote branch 'rrichardson/master'
2010-02-06 14:40:23 -06:00
Scott R. Parish
35856c20a3
make suggestions given by hlint
2010-02-06 10:38:53 -06:00
Rick Richardson
58fbd2005f
added whereClause, tidied code
2010-02-05 08:31:01 -05:00
Rick Richardson
e606b1bc1f
tweaks and such
2010-02-02 22:40:41 -05:00
Rick Richardson
0cf0da8ab6
added login/user mgmt, added multiple handles in the connection
2010-02-02 16:06:53 -05:00
Scott R. Parish
9bc616ccf5
finish: only close cursor if cursor-id is non-zero
...
A '0' cursor-id means that no cursor was created, so there's nothing
to kill.
Also, findOne should never have a cursor opened for it, so no need
to even call finish.
2010-02-01 09:04:47 -06:00
Brian Gianforcaro
4c369f7a92
Fix small white space error
...
Signed-off-by: Scott R. Parish <sparish@peak6.com>
2010-01-26 06:26:26 -06:00
Brian Gianforcaro
78a526d9d7
Add and expose serverShutdown.
...
Signed-off-by: Scott R. Parish <sparish@peak6.com>
2010-01-26 06:26:21 -06:00
Brian Gianforcaro
73d147f875
A few comment spelling corrections
...
Signed-off-by: Scott R. Parish <sparish@peak6.com>
2010-01-26 06:24:23 -06:00
Scott R. Parish
d606e47f33
make changes suggested by HLint
2010-01-24 20:58:49 -06:00
Scott R. Parish
5ae3c4c2ae
databasesInfo, databaseNames
2010-01-22 06:23:39 -06:00
Scott R. Parish
6bf32ab9eb
serverInfo
2010-01-21 21:09:20 -06:00
Scott R. Parish
e8f6141529
renameCollection
2010-01-21 19:12:06 -06:00
Scott R. Parish
62dfc44393
indexInformation
2010-01-21 18:55:23 -06:00
Scott R. Parish
bb9bbf56d2
switch apis to all use Lazy.ByteString
2010-01-20 23:19:39 -06:00
Scott R. Parish
f8652ed11a
make BsonDoc a 'type' rather then 'newtype'
...
All the wraping/unwraping for the newtype was really cumbersome and
protection isn't really needed here.
2010-01-20 22:31:32 -06:00
Scott R. Parish
66ad002718
BsonValue convertible instances so fromBson can unwrap BsonObjects
2010-01-20 20:55:33 -06:00
Scott R. Parish
b413958ef7
dropIndexes
2010-01-20 06:20:30 -06:00
Scott R. Parish
7df946f697
dropIndex
2010-01-19 22:44:14 -06:00
Scott R. Parish
f1aa28b9e4
docs for createIndex
2010-01-19 22:35:21 -06:00
Scott R. Parish
46839acdbc
createIndex
2010-01-19 22:31:38 -06:00
Scott R. Parish
f173d9d0a7
convertible for BsonObject
2010-01-19 20:30:04 -06:00
Scott R. Parish
bff4817970
expose runCommand
2010-01-19 06:31:59 -06:00
Scott R. Parish
45b9be608e
rename Collection to FullCollection to be consistant with server docs
2010-01-19 06:28:17 -06:00
Scott R. Parish
ba53b4b7e8
forgot docs for validateCollection and dropCollection
2010-01-18 22:20:01 -06:00
Scott R. Parish
dc99780c03
count, countMatching
2010-01-18 22:19:38 -06:00
Scott R. Parish
d7f6cfc348
validateCollection
2010-01-18 21:39:38 -06:00
Scott R. Parish
6569157051
dropDatabase
2010-01-18 21:31:21 -06:00
Scott R. Parish
311e0462ac
dropCollection
2010-01-18 21:26:34 -06:00
Scott R. Parish
73d9a00d5f
createCollection
2010-01-18 21:26:00 -06:00
Scott R. Parish
3aaee6cf84
findOne: tell database to only return one
2010-01-18 19:36:10 -06:00
Scott R. Parish
2c6905b45f
BSON.empty
2010-01-18 18:32:44 -06:00
Scott R. Parish
30925bc90f
add BsonDocOps class so document can be specified with String keys
2010-01-18 18:05:09 -06:00
Scott R. Parish
121dcbfd93
findOne
2010-01-18 17:31:41 -06:00
Scott R. Parish
378bc42393
collectionNames
2010-01-18 15:04:38 -06:00
Scott R. Parish
cef52ebf12
BSON.lookup
2010-01-18 15:04:14 -06:00
Scott R. Parish
ee8cd25138
disconnect
2010-01-18 15:04:05 -06:00
Scott R. Parish
f5f0ec2b8e
add documentation for public functions/types
2010-01-18 13:24:14 -06:00
Scott R. Parish
9f57eca933
make field selector a list rather then a BsonDoc
...
Requiring callers to construct {foo: 1, bar: 1} style field selectors
is just dumb. Instead we'll let them pass in the field selector as a list
of strings and then construct the above form automatically for them.
2010-01-18 12:43:05 -06:00
Scott R. Parish
949bece818
class for toBson/fromBson, instances for Maybe
...
For example, you can now use fromBson of Maybe BsonValue (eg the result of
a lookup) to convert to Maybe a.
You can also give a Maybe a to toBson and for Nothing it will produce
BsonNull and for Just a it will create the appropriate BsonValue for a.
2010-01-18 10:26:13 -06:00
Scott R. Parish
f60d984677
some initial Convertibles for converting from Bson
2010-01-18 09:57:25 -06:00
Scott R. Parish
67bf1245bb
some initial (to BsonValue) Convertible instances and toBson
2010-01-17 23:08:14 -06:00
Scott R. Parish
4cfd4e7fa3
use what appears to be more standard naming, eg BsonValue instead of BSValue
2010-01-17 11:41:24 -06:00
Scott R. Parish
7f777c8fb4
compile with -Wall and -Werror, fix all ensuing breaks
2010-01-16 21:40:22 -06:00
Scott R. Parish
a5ab7cdb64
quickFind and quickFind'
2010-01-16 20:06:01 -06:00
Scott R. Parish
183e619362
allDocs': a strict version of allDocs
2010-01-16 19:38:11 -06:00
Scott R. Parish
4c17f8e646
licenses (MIT)
2010-01-16 19:22:46 -06:00
Scott R. Parish
0c019ad0e9
allDocs: create a lazy list off a cursor
2010-01-16 19:14:47 -06:00
Scott R. Parish
344c6bb975
add find command: simpler to use then query for most uses
2010-01-16 18:54:26 -06:00
Scott R. Parish
20f68b706c
rename curClose to finish a-la HDBC
2010-01-16 18:33:32 -06:00
Scott R. Parish
78427d37b1
conClose and curClose
2010-01-16 18:04:15 -06:00
Scott R. Parish
f5a946c0e0
query now returns a cursor, nextDoc iterates over the cursor
2010-01-16 18:03:17 -06:00
Scott R. Parish
8805ea4a9e
add missing exports
2010-01-16 17:59:15 -06:00
Scott R. Parish
ee1e4d3528
add protocol asserts
2010-01-16 17:59:10 -06:00