Commit Graph

691 Commits

Author SHA1 Message Date
Kyle Banker
f9ec4eca1d YARD and more specific exceptions for DB 2010-01-11 18:12:46 -05:00
Kyle Banker
3762e52ac2 minor: fixed exception organization 2010-01-11 11:38:35 -05:00
Kyle Banker
3a6865e172 minor: db class cleanup 2010-01-08 19:11:49 -05:00
Kyle Banker
74c9862fc9 minor: clean up conversions module 2010-01-08 16:29:06 -05:00
Kyle Banker
523f0ebc2c yard for Cursor 2010-01-08 16:18:07 -05:00
Kyle Banker
5285f9de8f minor: reorganized constants / errors 2010-01-08 15:43:13 -05:00
Kyle Banker
4024a5b333 minor: doc updates. added ydoc rake task 2010-01-07 18:35:18 -05:00
Kyle Banker
1e183d1f53 deprecated RegexpOfHolding and XMLToRuby 2010-01-07 16:17:34 -05:00
Kyle Banker
b82e29f313 minor: yardoc for Connection 2010-01-07 12:37:53 -05:00
Kyle Banker
42b835243e warn if using Date or DateTime instead of Time 2010-01-06 14:30:58 -05:00
Kyle Banker
77df695bca deprecated Admin class; admin method now available in DB class 2010-01-06 13:51:12 -05:00
Kyle Banker
2310a878ea doc cleanup and initial move to YARD 2010-01-05 17:42:52 -05:00
John Nunemaker
8ab4e77a81 Added to_json for Mongo::ObjectID. 2009-12-31 12:37:57 -06:00
Kyle Banker
2087cd4286 BUMP 0.18.2 2009-12-29 17:32:10 -05:00
Kyle Banker
7a08e2c84f minor: pool test working for windows on 1.8.6 2009-12-29 13:27:12 -05:00
Mike Dirolf
e013618a8f RUBY-74 raise InvalidDocument for any unrecognized types 2009-12-29 12:59:30 -05:00
Kyle Banker
1b189336a6 minor: test tweaks for windows 2009-12-29 12:22:01 -05:00
Kyle Banker
7bebcd0499 minor: test fixes 2009-12-29 11:31:59 -05:00
Kyle Banker
a698415fa5 minor: fixed sort api to allow a single key / direction pair to be specified as an array 2009-12-28 13:43:20 -05:00
Kyle Banker
23c8b9d45f minor: switched from Monitor to Mutex; passing tests in 1.9.1 2009-12-28 13:05:45 -05:00
Jay Shepherd
5ccfcf95ab minor: document fixes 2009-12-23 11:12:46 -06:00
Kyle Banker
3858e70518 minor: fixes for pooling; updated history 2009-12-21 09:06:28 -05:00
Kyle Banker
5c1b3aed0f simplified connection pooling 2009-12-18 17:29:44 -05:00
Kyle Banker
c15e8c2d7d enabled keyf support for Collection#group 2009-12-18 14:49:16 -05:00
Kyle Banker
eaa12e2461 minor: use ruby object_id generate on test:ruby 2009-12-18 14:49:16 -05:00
Mike Dirolf
9ba194c4b1 minor: fix for 1.9 2009-12-17 12:26:26 -05:00
Mike Dirolf
9e38ef4f8b Merge branch 'master' of github.com:mongodb/mongo-ruby-driver 2009-12-17 12:24:23 -05:00
Kyle Banker
9c68d1c0ab fix for uniq with OrderedHash for Ruby 1.8.6 2009-12-17 12:19:38 -05:00
Mike Dirolf
65c36ca943 null checking for keys and regex patterns, allow nulls for regular strings 2009-12-17 12:17:19 -05:00
Mike Dirolf
9bbaafe03d Just use Regexp#source instead of hacky to_s. Check Regex pattern for NULL bytes 2009-12-17 10:24:58 -05:00
Mike Dirolf
5168692ab9 don't allow NULL byte in key names in ruby encoder 2009-12-17 10:05:38 -05:00
Kyle Banker
7655a2c424 deprecated Cursor#next_object for Cursor#next_document 2009-12-16 18:09:48 -05:00
Kyle Banker
f8a6d1ebb9 minor: docs, whitespace, naming 2009-12-16 14:16:49 -05:00
Kyle Banker
aaf590214c enforce 4MB limit when inserting BSON docs 2009-12-16 11:32:54 -05:00
Kyle Banker
2fb5c92b60 minor: cleanup 2009-12-15 16:40:40 -05:00
Kyle Banker
ce1d93096c GridStore performance improvements (Sunny Hirai) 2009-12-15 14:13:04 -05:00
Kyle Banker
f633e8ad69 Added query option for Collection#distinct 2009-12-14 13:57:22 -05:00
Kyle Banker
1cbb5d01ef minor: added grid store length accessor 2009-12-11 10:02:38 -05:00
Mike Dirolf
d268595584 tests + fixes for using nil _id's 2009-12-08 17:52:15 -05:00
Mike Dirolf
a9bb31e392 minor: whitespace 2009-12-08 17:52:07 -05:00
Kyle Banker
8f2e25f8d3 added custom exception for illegal object ids 2009-12-08 17:13:54 -05:00
Kyle Banker
6d573edd40 minor: doc cleanup; extracted credits 2009-12-07 15:46:39 -05:00
Blythe Dunham
3df52cc927 Add support for the finalize option of the group command 2009-12-06 15:45:42 -08:00
Kyle Banker
f0766c9d2e minor: allow oplog. collection 2009-12-04 16:35:12 -05:00
Kyle Banker
4550389480 Added generation_time method on ObjectID 2009-12-03 17:45:53 -05:00
delano
5bf512fb80 Fix for connecting to non-default port 2009-12-02 16:24:36 -05:00
Mike Dirolf
bfb26b3426 minor: update mongo-qa tests for new bson api 2009-12-02 15:49:45 -05:00
Kyle Banker
e228be7943 minor: added bytebuffer method to make apis compatible 2009-12-02 12:07:32 -05:00
Kyle Banker
992f6c30dc minor: removed entraneous constant 2009-12-02 11:56:58 -05:00
Kyle Banker
d40f445c19 Fixes for 1.9 2009-12-01 17:23:24 -05:00
Kyle Banker
4b849d4b4b divided bson.rb in two 2009-12-01 13:55:04 -05:00
Kyle Banker
05b5fc576b Cleanup w/r/t loading c ext and testing it 2009-12-01 13:49:57 -05:00
Kyle Banker
a7c75d7fae Raise error on non utf-8 string in 1.8 2009-11-30 17:06:21 -05:00
Kyle Banker
a3cbacc99b minor: Docs, cleanup, history. 2009-11-25 11:26:30 -05:00
Christos Trochalakis
b1b61d5c0b Added support for map-reduce 2009-11-25 11:26:29 -05:00
Kyle Banker
5b5ee9e376 minor: doc fix. 2009-11-24 17:41:41 -05:00
Kyle Banker
cdb60b378f Fixes for 1.9.1 compatibility. 2009-11-24 16:13:14 -05:00
Kyle Banker
072b025cdc Updates for connection-pooled operations on replica pairs. 2009-11-24 15:20:51 -05:00
Kyle Banker
539274bb7b minor: cleanup, docs 2009-11-24 14:43:52 -05:00
Kyle Banker
ab0d189832 Simplified message sending methods names; organized Connection 2009-11-24 14:23:43 -05:00
Kyle Banker
3bdd3fdd53 Removed some unused methods. 2009-11-24 14:04:39 -05:00
Kyle Banker
154abda235 Fixes for pairing. 2009-11-24 13:55:59 -05:00
Kyle Banker
20562e96ab Tests passing for connection pooling. 2009-11-24 13:47:37 -05:00
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
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