Commit Graph

377 Commits

Author SHA1 Message Date
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