Commit Graph

879 Commits

Author SHA1 Message Date
Mike Dirolf 3a3109e7dc enough encoders to do bson_benchmark 2009-03-04 11:07:22 -05:00
Mike Dirolf 064ddacd5e c encoder for string types 2009-03-04 10:05:50 -05:00
Mike Dirolf bdec973ff4 more debugging 2009-03-04 09:35:27 -05:00
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