Commit Graph

476 Commits

Author SHA1 Message Date
Mike Dirolf
c69fbb7f67 checkpoint - beginnings of c encoder 2009-03-03 17:07:22 -05:00
Mike Dirolf
f907edcde5 more stuff to see on failure 2009-03-03 09:59:36 -05:00
Mike Dirolf
0d64ec9de1 temporarily raise a different exception 2009-03-03 09:27:38 -05:00
Mike Dirolf
a5a2e82836 fix breakage when running tests on non-default port. removing ability to specify connections in [port, host] ordering. 2009-03-02 13:37:12 -05:00
Mike Dirolf
9b9f14ce2e overhaul create_index - don't allow clients to specify their own name, allow descending indexes 2009-02-26 12:06:03 -05:00
Mike Dirolf
acfd505061 use fs as root collection, not gridfs 2009-02-18 17:50:07 -05:00
Mike Dirolf
16c8170498 md5 for ruby gridfs too 2009-02-18 14:12:04 -05:00
Geir Magnusson Jr
232a7f7169 Clarify license to be the Apache License v2.0. Was a
mix and the readme still reflected AGPL
2009-02-15 08:24:14 -05:00
Jim Menard
4302de0227 set TCP_NODELAY for db sockets. 2009-02-10 13:32:40 -05:00
Jim Menard
05aafc0de4 Collection#find_first uses :limit => 1 2009-02-10 13:08:15 -05:00
Jim Menard
5aa7202a78 Hard limit values are negative. 2009-02-10 13:04:19 -05:00
Jim Menard
46317fcb6e Explicitly call self.getc/self.putc. 2009-02-10 11:41:36 -05:00
Jim Menard
9a7ed4c3d3 comment 2009-02-09 13:13:13 -05:00
Jim Menard
5c2ef0176e Changed ObjectID#legal_oid_string to ObjectID#legal? 2009-02-09 11:38:24 -05:00
Jim Menard
7de404c8e3 Added Collection#find_first. 2009-02-09 09:46:30 -05:00
Jim Menard
d40c31bb00 comments 2009-02-07 14:36:08 -05:00
Jim Menard
333cf20a20 Removed another $DEBUG warning. 2009-02-05 16:37:35 -05:00
Jim Menard
8ecc8cb305 Remove debug warnings. 2009-02-05 15:59:44 -05:00
Jim Menard
8ef393437c Accept array of field names 2009-02-05 14:24:20 -05:00
Jim Menard
d5f9f024ed Flush after every socket write. Nil out @socket earlier during close. Bumped patch version number. 2009-02-05 09:53:10 -05:00
Jim Menard
04b0b926d4 comments 2009-02-03 12:43:09 -05:00
Jim Menard
768a3ab1a5 Improved Admin#validate_collection, tests, and example. 2009-02-03 12:31:08 -05:00
Jim Menard
bd602ba369 More seek tests. Fixed seek. Bumped patch version number. 2009-02-02 16:45:36 -05:00
Jim Menard
d701fd7133 include XGen::Mongo::Driver 2009-02-02 10:14:06 -05:00
Jim Menard
28daeb6600 Support binary subtypes in Ruby driver. Bumped patch version number.
Binary type is now a subclass of ByteArray with an additional subtype value
that defaults to 2. BSON special-cases subtype 2 to write out the extra length
int.
2009-02-02 10:07:01 -05:00
Jim Menard
9b7b45f27c removed unnecessary condition 2009-01-30 17:08:49 -05:00
Jim Menard
60dcb19e87 New password digest format. 2009-01-30 16:49:19 -05:00
Jim Menard
af2b8b61d0 New GridFS Version 1.0 storage format. 2009-01-30 16:44:29 -05:00
Jim Menard
b0612054f9 New option ctor arg takes :content_type and :chunk_size 2009-01-30 14:54:58 -05:00
Jim Menard
6532dd7d9b Hints are now BSON objects (probably ordered hashes) instead of arrays. Also make sure index exists for hint field in test. 2009-01-30 14:35:22 -05:00
Jim Menard
8e026ebb11 documentation 2009-01-29 11:31:45 -05:00
Jim Menard
0ef78c46c4 GridStore (GridFS) implementation. 2009-01-29 11:23:50 -05:00
Jim Menard
8a6d0cebda Call port.to_i in Mongo ctor. Bumped version patch number. 2009-01-29 10:54:24 -05:00
Jim Menard
b3bc2c41e2 Moved hint call from Cursor into Collection#find options and Query#initialize
parameter.
2009-01-29 07:15:59 -05:00
Jim Menard
dc3ef378d3 Fixed BSON serialization bug: was modifying objects with ids. 2009-01-28 15:38:31 -05:00
Jim Menard
8a10a5d37d Fixed BSON behavior: now correctly writes _id first. 2009-01-27 16:26:42 -05:00
Jim Menard
1bbb9fb78f BSON serialize now takes a ByteBuffer. 2009-01-26 13:52:11 -05:00
Jim Menard
01dc72c834 Fixed OrderedHash#delete 2009-01-26 13:30:42 -05:00
Jim Menard
c65278afc7 Make sure _id gets written first when serializing BSON. 2009-01-26 09:02:18 -05:00
Jim Menard
b337150eb2 comment fix 2009-01-23 13:54:57 -05:00
Jim Menard
f9c9eefdb4 Added error? and error() methods to DB. 2009-01-23 13:47:27 -05:00
Jim Menard
3ffc8942b0 Changed Mongo#new so it takes a Hash for paired servers. 2009-01-23 13:30:59 -05:00
Jim Menard
9bc1a15c40 fixed comment 2009-01-23 12:51:36 -05:00
Jim Menard
d01a4f5fdb Added auto_reconnect and slave_ok options and behavior to DB connections. 2009-01-23 11:47:22 -05:00
Jim Menard
36d333de35 Avoid using to_a so we don't see warnings. 2009-01-22 13:20:48 -05:00
Jim Menard
796d052da0 Removed add_user and delete_user because security spec is not solidified. 2009-01-22 08:36:42 -05:00
Jim Menard
cc7cac680b Make ByteBuffer work no matter what the string encoding scheme. 2009-01-21 12:09:18 -05:00
Jim Menard
3e33811425 Fixed MD5 stuff so it works with Ruby 1.9. Bumped gem patch version. 2009-01-21 11:52:43 -05:00
Jim Menard
6b6b90b390 Database authentication. 2009-01-21 11:26:18 -05:00
Jim Menard
5c751e9cfc Fixed OrderedHash key deletion. 2009-01-21 10:53:26 -05:00
Jim Menard
d3d0d5a16e Improved error messages. 2009-01-20 15:59:07 -05:00
Jim Menard
55824a4823 nil check in ensure 2009-01-20 15:55:48 -05:00
Jim Menard
bf2e35589f Added Mongo#drop_database. 2009-01-20 09:21:19 -05:00
Jim Menard
62502a3f24 Changed BINARY BSON format based on spec change. 2009-01-20 09:03:43 -05:00
Jim Menard
623a22ceda DB can have PK factory. Collection#insert returns objects inserted (possibly modified by PK factory). 2009-01-16 16:10:52 -05:00
Jim Menard
e0162aebb9 Level 1 support:
- Added PK factory support to the db class. Documented it in the README.

- Mongo#db now takes an options hash (right now, for :strict and :pk) and
  passes it in to the DB constructor.
2009-01-16 14:41:53 -05:00
Jim Menard
94f5214e45 Simplified DB#collection logic. Removed assert that only worked coincidentally. 2009-01-16 13:24:49 -05:00
Jim Menard
7291995efc Added Mongo#database_info and Mongo#database_names. 2009-01-16 09:52:31 -05:00
Jim Menard
59f32caf57 Fixed DBRef BSON format. 2009-01-15 15:12:16 -05:00
Jim Menard
fc1e384e50 QueryMessage now handles hashes inside sort array properly. 2009-01-15 12:33:20 -05:00
Jim Menard
123b2c8d78 New ObjectID#legal_oid_string. Use that in ObjectID#from_string. 2009-01-15 11:25:23 -05:00
Jim Menard
b8e3a98755 check for nil 2009-01-15 09:35:44 -05:00
Jim Menard
711cd4ea55 removed unnecessary require that causes warnings about redefining DEFAULT_PORT 2009-01-15 09:35:25 -05:00
Jim Menard
feaa141e2b default value for nodes_or_host 2009-01-15 09:29:38 -05:00
Jim Menard
871c9ee873 comment fix 2009-01-14 18:38:25 -05:00
Jim Menard
c3d73e4151 Mongo and DB ctors can now take array of nodes. Tests now close @db in teardown. 2009-01-14 18:37:28 -05:00
Jim Menard
fdb4ed7dc5 New switch_to_master db method. Reorganized db tests a bit. 2009-01-14 15:49:49 -05:00
Jim Menard
abf5b7f8f0 Comment. Removed unneeded require. 2009-01-14 15:36:17 -05:00
Jim Menard
fce980fc47 Fixed $hint and $explain support. 2009-01-14 10:42:56 -05:00
Jim Menard
b82dd30579 Accept more types for hints args. 2009-01-14 10:28:32 -05:00
Jim Menard
b8fcd28c51 Fixed var spelling errors. Accept more types for hints args. 2009-01-14 10:26:12 -05:00
Jim Menard
74773efe0c Fixed symbol ser/deser 2009-01-14 09:23:19 -05:00
Jim Menard
50070c2efa Support for hints. 2009-01-13 15:51:41 -05:00
Jim Menard
61a0244c4c Pass Collection object, not name, to query so that we can access its hint fields at query time. 2009-01-13 15:38:46 -05:00
Jim Menard
1afd968f5d Added Cursor#explain. Made query sends lazy. 2009-01-13 14:02:16 -05:00
Jim Menard
dd48ec13ab Added DB#master method. 2009-01-13 13:08:04 -05:00
Jim Menard
5793ce986b UTF-8 encoding/decoding for Ruby 1.9. 2009-01-13 12:53:55 -05:00
Jim Menard
de59adecee Moved Mongo data types into subdir. 2009-01-13 10:23:20 -05:00
Jim Menard
cd063c71a1 comment 2009-01-13 09:16:31 -05:00
Jim Menard
f5c06d2b62 New RegexpOfHolding class that maintains unknown option flags. 2009-01-13 09:12:13 -05:00
Jim Menard
bda7cfd264 OrderedHash is not necessary with Ruby 1.9, so we stub out the innards of the class but keep the class for code compatability. 2009-01-12 16:28:29 -05:00
Jim Menard
c6bd4fc100 Added the XGen::Mongo::Driver::Undefined data type (yuck) 2009-01-12 12:08:02 -05:00
Jim Menard
5bbed1c5f0 removed unused method args 2009-01-12 11:13:49 -05:00
Jim Menard
b6b819fe89 output copy of BSON on error 2009-01-12 11:11:58 -05:00
Jim Menard
65b9a6d103 Fixed BINARY length output 2009-01-12 10:48:04 -05:00
Jim Menard
e514446603 Fixed BINARY output; was being tread as STRING. 2009-01-12 10:44:57 -05:00
Jim Menard
89674beb9e Use proper byte ordering for internal/BSON representation of object ids. 2009-01-12 10:14:48 -05:00
Jim Menard
3dd465ddec Fixed ObjectID.from_string bug. 2009-01-12 09:58:13 -05:00
Jim Menard
80dd421dd9 Use mongo-qa tests if present 2009-01-12 09:48:24 -05:00
Jim Menard
73b7d5e83a comment 2009-01-12 08:45:21 -05:00
Jim Menard
8e23a0c3a2 Fixed BINARY BSON format. Avoid Ruby 1.9 error messages in round trip test for now. 2009-01-10 16:40:24 -05:00
Jim Menard
78fdfe0eb9 Support BINARY. Lots more tests. NOTE: since some of them fail, I have commented out the tests for now. 2009-01-09 19:58:53 -05:00
Jim Menard
77d192183a Fixed OrderedHash.inspect 2009-01-09 19:49:27 -05:00
Jim Menard
72f7184dd4 Added symbol to roundtrip tests. 2009-01-09 18:25:36 -05:00
Jim Menard
341fe3d90f Added BSON support for symbols 2009-01-09 18:20:53 -05:00
Jim Menard
7fc970b217 Extracted XML-to-Ruby conversion. Created validate script for mongo-qa project. 2009-01-09 17:27:31 -05:00
Jim Menard
97fa97bd2c Pass parent, name, and database to DBRef constructor when deserializing BSON 2009-01-09 15:22:10 -05:00
Jim Menard
991a75bda7 Turn an UNDEFINED type in BSON into a nil in Ruby. 2009-01-09 15:02:08 -05:00
Jim Menard
3158d50879 BSON.deserialize should return OrderedHash, not Hash 2009-01-09 14:26:30 -05:00
Jim Menard
a9ba8c62fd Added OrderedHash#inspect which preserves key order 2009-01-09 13:54:12 -05:00
Jim Menard
5b83544b9c New ObjectID.from_string method 2009-01-09 13:34:30 -05:00
Jim Menard
5d71afa737 Fixed DBRef (de)serialization 2009-01-09 11:56:30 -05:00
Jim Menard
c8200c4cc6 Start of DBRef support 2009-01-08 14:43:30 -05:00
Jim Menard
cb2d775bb1 Fixed OrderedHash merge bug. New tests for OrderedHash. 2009-01-08 07:16:25 -05:00
Jim Menard
efd31a8bc5 Added TODO comments and separate code path for unimplemented types in deserialize 2009-01-07 17:13:21 -05:00
Jim Menard
2b65189dde Completed Admin implementation. 2009-01-07 16:12:01 -05:00
Jim Menard
60ab3d99dc Implemented Admin#profiling_info. 2009-01-07 15:58:54 -05:00
Jim Menard
17bbc83f5d Fixed DATE ser/deser bug. 2009-01-07 15:56:40 -05:00
Jim Menard
15055794c7 Beginnings of Admin implementation. 2009-01-07 15:36:12 -05:00
Jim Menard
fd6b0a2848 Raise an error if Cursor#to_a is called after Cursor#each but not also before. 2009-01-07 14:22:53 -05:00
Jim Menard
169a96ad5b Added Cursor#to_a and more tests and docs. 2009-01-07 14:07:17 -05:00
Jim Menard
3473d026a6 Added synchronization 2009-01-07 11:46:38 -05:00
Jim Menard
2bde6b4029 Comment about accepting a string order_by value. 2009-01-07 10:10:51 -05:00
Jim Menard
9446d50145 Use ordered has for orderby in QueryMessage. Accept a single string for the order_by value. 2009-01-07 10:09:19 -05:00
Jim Menard
26b88efd3b Bug fixes:
- Make sure Query#fields returns a hash, not an array.
- Fix query limit by passing limit number to cursor and having it enforce the
  limit. (Database returns limit as first batch, but will continue to return
  data after the limit if requested.)
Improvements:
- Query#new can take a single field name instead of an array
- A few doc comment improvements here and there.
2009-01-07 09:46:30 -05:00
Jim Menard
cecbebb1e9 Comment about << alias 2009-01-07 09:45:56 -05:00
Adrian Madrid
c8072f2f4a Added safety check for queries with unknown parameters. The idea came when I used :order instead of :sort and it silently _failed_ to work as expected ;-) 2009-01-06 17:14:45 -07:00
Jim Menard
b6a515f870 Add docs about order_by Hash/OrderedHash 2009-01-06 16:52:29 -05:00
Jim Menard
f709bc6290 Updated copyright dates. 2009-01-06 10:51:01 -05:00
Jim Menard
06314d6edf end-of-file newlines 2009-01-06 10:47:29 -05:00
Adrian Madrid
fbe3a12317 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2009-01-05 14:32:30 -07:00
Jim Menard
eaacc62086 Make sure Message request id ivar matches value put into buffer. 2009-01-04 10:02:32 -05:00
Adrian Madrid
f7e6cb9a83 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-18 14:15:56 -07:00
Jim Menard
80475ff198 Clarified ByteBuffer.get behavior: get() returns one byte, get(1) returns array of length one. 2008-12-18 16:14:56 -05:00
Adrian Madrid
3aac974f13 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-18 13:56:33 -07:00
Jim Menard
8aed3abda6 new Collection#options method 2008-12-17 13:52:10 -05:00
Jim Menard
459381b9e4 Guard against nil options in DB#create_collection. Doc fix. 2008-12-17 13:14:42 -05:00
Jim Menard
95e75995f6 Doc tweaks 2008-12-17 11:49:06 -05:00
Jim Menard
aee3ae2c9d More documentation 2008-12-17 11:43:08 -05:00
Adrian Madrid
7b086fe4d1 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-16 15:46:19 -07:00
Jim Menard
02cd38fce0 Added XGen::Mongo::Driver::DB.master? 2008-12-16 17:35:31 -05:00
Jim Menard
103d7e5c62 New optional "strict" mode for databases. 2008-12-16 17:08:15 -05:00
Adrian Madrid
9392b7778a Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-16 14:36:36 -07:00
Jim Menard
e8f3696c77 Fixed boolean BSON type constant. More tests. 2008-12-16 07:33:39 -05:00
Jim Menard
c75bee763b Found and fixed code deserialization bug. 2008-12-16 07:23:22 -05:00
Jim Menard
bce01bbaa6 Fixed byte buffer double encoding problem. Made byte buffer work under Ruby 1.9. 2008-12-16 07:20:20 -05:00
Jim Menard
d79551eaa8 start of BSON tests; removed unused BSON ivar 2008-12-16 07:07:29 -05:00
Jim Menard
a3db5e6924 cleanup; raise different for known but unimplemented types 2008-12-16 06:57:13 -05:00
Adrian Madrid
40fbb501cb Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-09 13:15:03 -07:00
Jim Menard
89d8076d11 Support for sorting. 2008-12-09 15:06:35 -05:00
Jim Menard
f961339cf5 Raise an error if cursor returns $err. 2008-12-09 14:47:34 -05:00
Adrian Madrid
e853e037c5 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-09 12:32:25 -07:00
Jim Menard
6c481c617d Fixed BSON (de)serialization of object ids. New test that saves/restores oid to the database. 2008-12-09 13:48:38 -05:00
Adrian Madrid
2552746824 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-09 10:41:30 -07:00
Adrian Madrid
8f90ce7280 Trying to merge upstream into my code 2008-12-09 10:35:03 -07:00
Jim Menard
135a9ca0ab New object id generation that matches Babble. 2008-12-09 08:28:10 -05:00
Adrian Madrid
8bcabd977d Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-08 14:53:27 -07:00
Jim Menard
6ab2f77eb7 Move the :fields find() parameter into the options hash. 2008-12-08 16:47:52 -05:00
Adrian Madrid
af8364db7a Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-08 14:46:59 -07:00
Jim Menard
cfee63194c More tests and improvements thanks to aemadrid. 2008-12-08 16:41:52 -05:00
Adrian Madrid
ee1ae4a3ca Changed parameters for find in collection 2008-12-08 14:40:49 -07:00
Jim Menard
1431cb3ec3 REGEX type support. 2008-12-08 15:57:20 -05:00
Adrian Madrid
c3858d6fb6 Fixed conflict 2008-12-08 13:34:37 -07:00
Adrian Madrid
366668679e Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-08 13:33:30 -07:00
Jim Menard
e7019a63f2 Support for ARRAY type. 2008-12-08 15:27:20 -05:00
Jim Menard
21e45c29b7 aliased << to insert for collections 2008-12-08 15:04:07 -05:00
Adrian Madrid
9037d47226 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-08 12:00:35 -07:00
Jim Menard
c3b1225605 Removed automatic _id creation. 2008-12-08 13:56:48 -05:00
Adrian Madrid
50d3ff6b03 Merge branch 'master' of git://github.com/jimm/mongo-ruby-driver 2008-12-08 11:12:09 -07:00
Jim Menard
7669900126 Lots of fixes.
- Introduced OrderedHash because db commands require that the command key be
  first.
- Fixed BSON (de)serialization of object ids.
- Simplified @coll.drop_indexes.
- Renamed some method parameters to make their type more clear (for example,
  "collection" became "collection_name").
- Got the index_information test working.
2008-12-08 11:38:42 -05:00
Jim Menard
067ec66812 Fixed index info retrieval 2008-12-08 08:33:29 -05:00
Adrian Madrid
3a5e578528 Removed the automatic addition of ObjectID for object['_id'] missing 2008-12-06 14:29:26 -07:00
Adrian Madrid
761b125687 Included comparable and added <=> method. 2008-12-06 14:17:19 -07:00
Adrian Madrid
33c1702596 Return an object instead of an array if inserting only one object in collection 2008-12-05 17:02:35 -07:00
Adrian Madrid
4ccb68b870 Added alias << for insert in collection 2008-12-05 16:17:52 -07:00
Adrian Madrid
453d90a68e Added a simple check for a single array passed as the first and only parameter when inserting objects 2008-12-04 17:10:00 -07:00
Jim Menard
51dde79ba4 Add _id to inserted records. Fixed ObjectID load, save, and generation. 2008-12-04 08:37:42 -05:00
Jim Menard
cf03cd53f9 documentation 2008-12-02 10:45:02 -05:00
Jim Menard
4244f56ce6 Fixed bug in BSON serializer: was forgetting to include NUL byt in string length. 2008-12-02 10:25:36 -05:00
Jim Menard
99db98f6e8 Made db.full_coll_name public. Wrote a test for it. 2008-12-02 07:26:45 -05:00
Jim Menard
8b82d716dd Added to to-do list. 2008-12-02 07:22:32 -05:00
Jim Menard
acf5cc994b More tests. Fixed some db client bugs. 2008-12-02 07:20:29 -05:00
Jim Menard
011bf0a51c More tests. Expanded README. 2008-12-01 20:20:00 -05:00
Jim Menard
a181a9415e Added ObjectID class. Fixed BSON object serialization bug. db.count now works. 2008-12-01 20:01:13 -05:00
Jim Menard
8459fcad5b Added call to db.count to example. Need to see why it's not working. 2008-12-01 19:36:20 -05:00
Jim Menard
5e3815bf69 first commit 2008-11-21 20:00:51 -05:00