Commit Graph

428 Commits

Author SHA1 Message Date
Kyle Banker 515594ebf3 Completed deprecation of old sort options, :offset, and Collection#clear 2009-11-23 18:09:13 -05:00
Kyle Banker fcbdfdf8e4 Doc cleanup; merge cleanup 2009-11-23 16:03:33 -05:00
Kyle Banker 11a92349e9 Merged branch for initial connection pooling code 2009-11-23 15:20:05 -05:00
Kyle Banker 7890d6e146 Fixes for replica pairs. 2009-11-23 13:13:14 -05:00
Kyle Banker 12454d04ad Fixes for replica pairs (unstable) 2009-11-20 17:48:41 -05:00
Kyle Banker e1e6d4339a BUMP 0.17.1 added mongo_ext notice 2009-11-17 14:39:03 -05:00
Kyle Banker cd44c3c918 Fixed index ordering 2009-11-17 13:20:57 -05:00
Kyle Banker 039484c263 minor: fixes for benchmarks and byte buffer defaults 2009-11-16 10:40:16 -05:00
Kyle Banker 3362fb5be6 Simplified BSON serialization calls for performance. 2009-11-12 14:48:49 -05:00
Kyle Banker db1f382150 Added #hash method for ObjectID. 2009-11-11 10:47:42 -05:00
Kyle Banker 48b5e069e0 minor: made some db connection method private. 2009-11-05 16:14:37 -05:00
Kyle Banker 867783c665 Added support for multi-update (available in mongo >= 1.1.3) 2009-11-05 16:08:54 -05:00
Kyle Banker f891b4ece3 Updates and insert in safe mode are now thread-safe. 2009-11-05 15:14:48 -05:00
Kyle Banker 41c95a0392 refactoring: moved receive methods from cursor to db class. 2009-11-04 17:46:15 -05:00
Kyle Banker 20ed768460 added tests for copy_database 2009-11-04 11:57:03 -05:00
Kyle Banker ba51e345f9 Merge branch 'master' of git://github.com/voodootikigod/mongo-ruby-driver into dbcopy 2009-11-04 11:44:19 -05:00
Kyle Banker defa621796 Merge branch 'c-optimizations' of git://github.com/seancribbs/mongo-ruby-driver into c-optimizations 2009-11-04 10:41:16 -05:00
Chris Williams 1430df2fa1 Fixing a case issue. 2009-11-03 12:36:42 -05:00
Chris Williams 086d5e0357 Adding copy database functionality to Connection object. 2009-11-03 12:33:02 -05:00
Kyle Banker 68bb1d2060 minor: Initial collection unit tests. Logging message update. 2009-11-02 15:50:16 -05:00
Kyle Banker 95f3686119 Restored pretty messages for logging. 2009-11-02 15:04:06 -05:00
Kyle Banker 44ff6c5918 Checking response on buildinfo command. 2009-11-02 13:22:46 -05:00
Sean Cribbs cb4d94f541 Optimize ByteBuffer#to_s and Mongo::ObjectID#generate via C extensions. 2009-10-29 11:44:07 -04:00
Kyle Banker 5a81cb70ee Added Collection#distinct [RUBY-61] 2009-10-27 14:05:45 -04:00
Kyle Banker 0d7cefd87b minor: cleaned up gemspecs, docs. 2009-10-26 15:34:45 -04:00
Kyle Banker 5c6f53e408 Added server version checking. Updated tests for compatibility > 1.1.3 2009-10-26 14:54:33 -04:00
Kyle Banker 67b7f6b375 Refactored Query class into Cursor class. 2009-10-22 14:10:12 -04:00
Kyle Banker de5c078cec Finished removing Message classes. Made Cursor#close threadsafe. 2009-10-21 10:11:33 -04:00
Kyle Banker b938765ac0 Removed GetMoreMessage and QueryMessage classes with initial refactoring. 2009-10-20 15:44:46 -04:00
Kyle Banker 5586d53c6a minor: Collection#remove should access db directly. 2009-10-20 11:36:51 -04:00
Kyle Banker e40d9cec3c Deprecated Collection#clear in favor of Collection#remove. Introduced shoulda and mocha for upcoming tests. 2009-10-20 11:31:07 -04:00
Kyle Banker 2d7bae4e0a minor: corrected options for Collection#remove 2009-10-19 17:48:20 -04:00
Kyle Banker cced8ae5b7 Removed InsertMessage, RemoveMessage, and UpdateMessage, and refactored accordingly. 2009-10-19 17:14:41 -04:00
Kyle Banker f642b0b3bd Simplified mutex creation 2009-10-19 11:46:59 -04:00
Kyle Banker 4e2781faf1 Raise exception if connecting to single slave with slave_ok set to false; pass slave_ok on to queries when set to true. 2009-10-15 12:25:25 -04:00
Kyle Banker c6d4150a51 Added option to disable cursor timeout on Collection#find when #find is invoked with a block. 2009-10-14 14:38:44 -04:00
Kyle Banker 5ea585a475 Created alias Collection#size for Collection#count 2009-10-13 16:20:41 -04:00
Mike Dirolf 4fdcad1327 cleanup and credits 2009-10-08 10:05:06 -04:00
Durran Jordan 20f65039f3 Updating sorting to new syntax 2009-10-08 10:03:19 -04:00
John Nunemaker 89d420780f Added logger convenience methods to connection and database. Makes it possible to use the logger instance in the driver from the outside world. 2009-10-08 21:13:59 +08:00
Les Hill 454bb440e4 OrderedHash#each returns self not ordered_keys 2009-10-05 21:35:02 +08:00
Mike Dirolf 79e76be9df add DB#last_status method 2009-10-01 12:01:37 -04:00
Mike Dirolf de6fef357b driver was sending hard limits where it should've sent soft, and vice-versa. fix and add tests for this 2009-09-30 10:49:08 -04:00
Mike Dirolf 70c23e2d32 deprecate :offset option to find in favor of :skip 2009-09-17 16:45:03 -04:00
Mike Dirolf 2b701119e1 complete deprecation of a bunch of stuff 2009-09-17 15:28:45 -04:00
Mike Dirolf f41b48a51b minor: tweaks and some more test cases 2009-09-17 15:07:37 -04:00
Mike Dirolf 1b98a1961f minor: credits, doc 2009-09-17 15:07:36 -04:00
mbernstein e6710621a7 copied docs from sort 2009-09-17 15:07:36 -04:00
mbernstein d1e45fdb1a casting input from sort method as ordered hash, tweaking tests a bit 2009-09-17 15:07:36 -04:00
mbernstein bdafae6eeb Added sort() method to Cursor Class, with tests and docs. 2009-09-17 15:07:36 -04:00
Mike Dirolf 3321a90739 remove redundant num_to_return from Cursor class. credits. clean up last commit 2009-09-16 17:52:41 -04:00
Kyle Banker c397758d1d Added #limit and #offset methods for cursor objects
Signed-off-by: Mike Dirolf <mike@dirolf.com>
2009-09-17 05:38:00 +08:00
Mike Dirolf d95971b20b tests + fix for deserializing pre-epoch dates w/ pure Ruby BSON deserializer - thanks chendo 2009-09-16 12:53:46 -04:00
Mike Dirolf b6901673bb always use hard limit for explain() 2009-09-16 10:39:52 -04:00
Mike Dirolf 86d2bf7186 minor: remove superfluous call 2009-09-14 14:28:01 -04:00
Mike Dirolf 833e0eb7da failing test case + fix for Collection#[] 2009-09-14 10:03:26 -04:00
Mike Dirolf 78f0b181e2 minor: clean up 2009-09-11 12:19:03 -04:00
Mike Dirolf 903e7136cf no logger by default. don't log timing because it's misleading for queries. add tests and documentation for logger 2009-09-11 12:12:24 -04:00
Cyril Mougel 5860333ed4 improve logger and fix all test with logging system 2009-09-11 00:02:03 +02:00
Cyril Mougel 58e73589bd add require needed if no require before 2009-09-10 23:27:46 +02:00
Cyril Mougel a7ec07a957 implement a little logger with log time and query 2009-09-10 23:24:06 +02:00
Mike Dirolf baad067165 minor: doc fix 2009-09-06 16:28:46 -04:00
Mike Dirolf 1124c05f1f DB#collections method, thanks to Durran Jordan and Les Hill 2009-08-27 16:29:41 -04:00
Mike Dirolf e6112703f3 allow scope for reduce function in group 2009-08-26 11:13:40 -04:00
Mike Dirolf 47c34266cf Change string representation of ObjectID - add 'legacy' methods for interacting with old strings 2009-08-25 14:56:02 -04:00
Mike Dirolf e05c9fc5da use correct ObjectID generation - no change to ordering yet though 2009-08-25 10:30:14 -04:00
Mike Dirolf 496af2be9c fix for count when find has fields specified 2009-08-24 17:21:49 -04:00
Mike Dirolf 834a176dbe minor: remove unimplemented methods 2009-08-24 10:55:31 -04:00
Mike Dirolf 604f85513f fix paired connection find master 2009-08-24 10:51:15 -04:00
Mike Dirolf fd3b927771 API CHANGE no longer save internal array for to_a - means you can't call each or to_a after calling to_a already, doc updates 2009-08-21 14:11:59 -04:00
Mike Dirolf 6a43aaa94f minor: doc 2009-08-21 11:21:33 -04:00
Mike Dirolf 28e795e9e2 minor: make methods private instead of protected or documented as private but actually public 2009-08-21 11:03:56 -04:00
Mike Dirolf 94fe53d96b DEPRECATE Mongo::Mongo in favor of Mongo::Connection 2009-08-20 18:48:09 -04:00
Mike Dirolf fc02435777 minor: spelling 2009-08-20 11:50:11 -04:00
Mike Dirolf e65dd99667 API CHANGE: moving XGen::Mongo::Driver and XGen::Mongo to Mongo and XGen::Mongo::GridFS to GridFS 2009-08-20 10:50:48 -04:00
Mike Dirolf 040ba7c9c2 add command option for Collection#group 2009-08-19 15:54:53 -04:00
Mike Dirolf c6969fcb4d eval raises OperationFailure on error. test for group that already passes 2009-08-19 15:37:29 -04:00
Mike Dirolf c49c208bff fix for Collection#group 2009-08-19 15:18:42 -04:00
Mike Dirolf bb13fbe687 use nil for BSON undefined instead of useless Undefined class. deprecate Undefined class 2009-08-19 15:18:02 -04:00
Mike Dirolf 66e8d1a13b Collection#find takes an optional block to ensure cursors get closed. Some doc updates for find 2009-08-19 11:51:30 -04:00
Mike Dirolf e64b7f3679 if fields is [] return just _id 2009-08-19 09:57:15 -04:00
Mike Dirolf dcda70fddd don't send a getmore immediately after every query 2009-08-18 17:36:53 -04:00
Mike Dirolf 7b4e51e825 deprecate DB#count and passing a selector to Collection#count 2009-08-18 11:48:16 -04:00
Mike Dirolf 103224b800 add Cursor#count method 2009-08-18 11:26:58 -04:00
Mike Dirolf 047fc60c91 allow [] on DB, Collection instances to get collections/sub-collections 2009-08-17 11:11:03 -04:00
Mike Dirolf 723f823ea1 API CHANGE _id is aded to hash instances that get inserted / saved 2009-08-14 17:26:50 -04:00
Mike Dirolf 402b895385 find_one takes same options as find 2009-08-14 16:43:12 -04:00
Mike Dirolf 28a80f1b5e Deprecate Collection#find_first in favor of Collection#find_one, also improve docs 2009-08-14 15:39:49 -04:00
Mike Dirolf 6cb8c9f49b API CHANGE Add :safe option for Collection#insert and Collection#save
The API change is minor: Collection#insert({...}, {...}, {...}) no
longer works for inserting multiple documents - instead you must pass
an explicit Array: Collection#insert([{...}, {...}, {...}])
2009-08-14 14:25:29 -04:00
Mike Dirolf 7e0a1b9721 add OrderedHash[] initialization 2009-08-14 11:38:25 -04:00
Mike Dirolf 73233d6589 minor: update save to use Collection#update instead of the deprecated Collection#repsert 2009-08-14 09:54:52 -04:00
Mike Dirolf 23e09141a0 better error checking for database names 2009-08-13 16:26:51 -04:00
Mike Dirolf 431039a82a add InvalidName exception and use that where appropriate 2009-08-13 15:52:11 -04:00
Mike Dirolf a41a88d0f2 deprecating DB#modify_in_db 2009-08-13 15:24:05 -04:00
Mike Dirolf 64380ad00c Deprecating Collection#modify, Collection#replace and Collection#repsert in favor of Collection#update 2009-08-13 15:18:53 -04:00
Mike Dirolf 4963da9e89 add support for snapshot option to Collection#find 2009-08-11 11:42:34 -04:00
Mike Dirolf 1e4728a77f fix a deadlock with threaded queries 2009-08-10 16:10:52 -04:00
Mike Dirolf 691e65f684 API CHANGE: fixing DB#collection_names() - only return collection name, not full name. only return names of valid collections on this database 2009-08-06 15:52:07 -04:00
Mike Dirolf fe7d7745c7 add collection name validation 2009-08-04 14:24:18 -04:00
Mike Dirolf 91d6ab4caa rename collection 2009-08-04 14:16:02 -04:00
Mike Dirolf 0a60ad0d7b support for long type in pure ruby [enc|dec]oder 2009-08-03 17:57:44 -04:00
Mike Dirolf 7da51cc317 save returns _id as well 2009-07-28 12:08:29 -04:00
Paul Dlug 6b9b922266 Generate _id on the client side if no _id is provided to insert/save. The generated ObjectID (or array of ObjectID's in the case of a multiple insert) is return. Closes RUBY-22 and RUBY-23.
Signed-off-by: Mike Dirolf <mike@dirolf.com>
2009-07-28 21:53:59 +08:00
Mike Dirolf 6cd976398e minor: c ext return dates as UTC, update credits, tweak last commit 2009-07-16 16:32:57 -04:00
David James 91b1b0ad8f Fix dates to return as UTC.
Signed-off-by: Mike Dirolf <mike@dirolf.com>
2009-07-17 04:26:56 +08:00
Mike Dirolf 73d7b5ea5d GridStore.list to list gridfs files 2009-07-15 10:06:45 -04:00
Mike Dirolf c6536f0d27 count() is 0 for non-existant collections, not an error 2009-06-18 09:38:55 -04:00
Mike Dirolf 7b0da3cb7e update group 2009-06-08 11:08:59 -04:00
Mike Dirolf 70fb0a6e6a actually send bulk insert messages 2009-06-08 09:52:18 -04:00
Mike Dirolf e5ce547e87 use repsert instead of checking for document existence, update tests to match new index_information API 2009-06-02 14:37:58 -04:00
Mike Dirolf cb3823f48f Merge branch 'master' of git://github.com/jnunemaker/mongo-ruby-driver into jnunemaker/master 2009-06-02 14:20:19 -04:00
Mike Dirolf 25e960441b API CHANGE: better, less redundant API for index_information 2009-06-02 11:24:52 -04:00
Mike Dirolf d87a7da617 BUG RUBY-15 don't check key names on create_index operations 2009-06-02 09:38:31 -04:00
John Nunemaker 13a9cfe83f Merge branch 'mongodb/master' 2009-06-01 23:24:16 -04:00
Mike Dirolf 71d7ff726b don't allow invalid key names on inserts 2009-06-01 17:38:11 -04:00
Jon Crosby c346ded1aa Fix syntax warning
Signed-off-by: mongodb <mongodb@10gen.com>
2009-06-01 21:19:38 +08:00
John Nunemaker f95102c2bb Updated save to actually check if id exists in the collection. 2009-05-31 22:45:05 -04:00
John Nunemaker 4cfa9cbcf3 Fixed lack of parenthesis ruby warning that I was receiving on 1.8.6. 2009-05-31 22:17:20 -04:00
John Nunemaker 4d7f06a6be Implemented that index fields can also be specified with symbols. 2009-05-31 22:16:01 -04:00
Mike Dirolf cabca61e0d previous_error and reset_error_history. snuck in a quick fix to OrderedHash equality 2009-05-26 15:26:20 -04:00
Aman Gupta 2fafddd7fa Add Collection#save 2009-05-15 18:21:10 -07:00
Mike Dirolf 37d6e16fe7 test and fix for BSON w/ negative integers. raise RangeError for out of range ints 2009-05-15 11:19:13 -04:00
Mike Dirolf a9aa5e5271 fix for pure ruby encoder when _id is a falsey value. more tests 2009-05-12 14:21:17 -04:00
Mike Dirolf cea73c2712 dereference helper method 2009-04-28 14:55:36 -04:00
Mike Dirolf 29cdfe64f1 add group method on collections 2009-04-27 14:19:38 -04:00
Mike Dirolf 2dffc4b504 don't set _id to default value for hash 2009-04-24 10:03:40 -04:00
Mike Dirolf 02b37f6e48 decoder for data_timestamp 2009-04-22 13:49:56 -04:00
Mike Dirolf 1312c70677 add support for unique index creation 2009-04-21 14:44:57 -04:00
Mike Dirolf a2898effb4 no longor drop_indexes when we drop_collection 2009-04-16 09:55:50 -04:00
Mike Dirolf ac4dde5d76 we still need to define ==, even in 1.9 2009-03-23 11:51:35 -04:00
Mike Dirolf 595a9464bb second gem for extensions 2009-03-19 13:54:46 -04:00
Mike Dirolf 5545f3c943 new-style dbref for ruby enc/decoders 2009-03-18 13:30:30 -04:00
Mike Dirolf db7cb56fc7 remove debugging cruft 2009-03-16 09:38:07 -04:00
Mike Dirolf 2541199903 oops didn't mean to commit this 2009-03-16 08:47:03 -04:00
Mike Dirolf dccc442edb for now don't try to install extension 2009-03-13 17:24:16 -04:00
Mike Dirolf 13c407cd85 support for db.eval 2009-03-13 11:03:52 -04:00
Mike Dirolf 37044a38f5 rescue a few more types of exceptions 2009-03-12 16:40:02 -04:00
Mike Dirolf 4e06c63972 fix warning 2009-03-12 16:01:13 -04:00
Mike Dirolf 0f546eb5c5 add new code type rather than doing hacks based on field name. use code_w_scope instead of code 2009-03-12 15:34:15 -04:00
Mike Dirolf 7e6e11ba99 only mask socket errors 2009-03-12 14:31:37 -04:00
Mike Dirolf 56fddf79d4 dbrefs only need an oid and a collection, not all this extra cruft... 2009-03-10 14:17:01 -04:00
Mike Dirolf d0d043323f towards c decoder 2009-03-10 10:23:42 -04:00
Mike Dirolf 8b9bcb1e63 add back in logging and size checks around all socket receive's 2009-03-06 10:02:43 -05:00
Mike Dirolf 1d0fe595c8 equality for ordered hashes 2009-03-05 13:48:15 -05:00
Mike Dirolf 9f2305715e oid encoder 2009-03-05 11:38:08 -05:00
Mike Dirolf 24e695b40d encoder for binary 2009-03-04 17:38:06 -05:00
Mike Dirolf 79b3df3c9e do all recv's in a loop. remove debugging cruft 2009-03-04 14:28:00 -05:00
Mike Dirolf 8b18502cd0 debug logs and assertions 2009-03-04 13:52:09 -05:00
Mike Dirolf 765ed9334e do to_a if it's not a string 2009-03-04 11:16:28 -05:00
Mike Dirolf 3a3109e7dc enough encoders to do bson_benchmark 2009-03-04 11:07:22 -05:00