Commit Graph

349 Commits

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