Commit Graph

598 Commits

Author SHA1 Message Date
Kyle Banker
7a11bb18a9 Ensure that cursor requiring getmore ops will not
be affected by replica set refresh.

Prep for sending commands to secondaries.
2011-10-17 14:41:09 -04:00
Kyle Banker
6a7e991689 Fix connection leak and refresh. 2011-10-14 09:52:11 -04:00
Kyle Banker
1001e59e44 minor: test framework fixes; minor bug fixes 2011-10-13 17:58:20 -04:00
Kyle Banker
c2070bb90a minor: simply and refactor auto refresh 2011-10-12 17:13:48 -04:00
Kyle Banker
566d1a844f minor: test to reproduce CURSOR_NOT_FOUND error with async refresh 2011-10-12 10:51:57 -04:00
slloyd
92a2e86d9a Allow logging from Collection using Connection logger 2011-10-11 10:25:24 -07:00
Kyle Banker
f5f714a1a1 Added some basic, sanity-checking tests. 2011-10-07 13:55:09 -04:00
Kyle Banker
018da9049c minor: test fix 2011-09-26 17:48:17 -04:00
David E. Chen
9eaf6b7b83 Support the current MongoDB URI scheme with multiple hosts/ports separated by commas all using the same authentication and database. 2011-09-26 17:39:47 -04:00
Kyle Banker
69598857ef minor: tests 2011-09-26 16:27:10 -04:00
Karl Seguin
77e9c05e40 sending a shutdown command to kill a node seems a lot more reliable than issuing a kill command (on my system anyways) 2011-09-26 16:09:01 -04:00
Kyle Banker
fe5f37b5d3 minor: remove bad test 2011-09-19 12:05:03 -04:00
Kyle Banker
3e3f05813a minor: cleanup and test fix 2011-09-15 17:46:59 -04:00
Kyle Banker
83eaa4d51b Replica Set connection improvements for refresh and multi-threaded apps. 2011-09-13 17:50:01 -04:00
Kyle Banker
e678bac75e RUBY-306 clean up logging. 2011-09-07 17:14:53 -04:00
Kyle Banker
75941ad2a3 minor: Cursor cleanup 2011-09-07 10:17:24 -04:00
Kyle Banker
1c439df278 RUBY-312 Enable exhaust-mode queries. 2011-09-07 10:02:10 -04:00
Kyle Banker
50c38c6c6b RUBY-284 document :read API 2011-09-06 14:58:03 -04:00
Kyle Banker
046038e18d RUBY-297 when possible, include error codes and
return objects in exception classes.
2011-09-06 14:22:50 -04:00
Kyle Banker
834b0db0af RUBY-307 Collection#count should take a query, skip, and limit. 2011-09-06 11:38:19 -04:00
Kyle Banker
b0b1c043ca Pool manager unit test. 2011-09-02 17:26:43 -04:00
Kyle Banker
fbeea87c47 Added some read preference tests; refactoring; nice Pool#inspect. 2011-08-31 17:34:06 -04:00
Kyle Banker
adb4675f20 RUBY-321 Use sync RW lock for ReplSetConnection. Bug fixes. 2011-08-31 16:05:21 -04:00
Kyle Banker
7769f4d44d minor: test fix 2011-08-31 11:46:33 -04:00
Kyle Banker
8b2de82464 RUBY-320 ReplSetConnection now caches tags and maps them to pools for reading. 2011-08-30 15:59:04 -04:00
Kyle Banker
45c40e7267 RUBY-320 RUBY-284 initial cascading read API. Mapping sockets to pools. 2011-08-29 17:49:58 -04:00
Kyle Banker
a6ea525e3d RUBY-319 support continue_on_error insert flag 2011-08-29 12:04:01 -04:00
Kyle Banker
f00c0dfcf0 RUBY-316 initial SSL support 2011-08-26 17:35:40 -04:00
Kyle Banker
8db62d2cbf RUBY-311 ensure that ReplSetConnection connects to replica set members only. 2011-08-26 12:40:13 -04:00
Kyle Banker
85a53571bc minor: test cleanup 2011-08-26 10:59:49 -04:00
Kyle Banker
5559f91da2 RUBY-314 test for update when a node is removed 2011-08-25 18:52:20 -04:00
Kyle Banker
3c127984a3 RUBY-242 check BSON size on a per-connection basis. 2011-08-25 14:57:24 -04:00
Kyle Banker
9b42265d10 Fixed unit test 2011-08-25 12:56:06 -04:00
Kyle Banker
f3fbb98fa8 RUBY-314 replica set connection and test cleanup 2011-08-25 11:27:58 -04:00
Kyle Banker
a3b28f7bde Merge pull request #54 from renctan/master
RUBY-296 fix for BSON timestamp serialization issue for C extension
2011-08-24 15:24:06 -07:00
Kyle Banker
1090dd3873 RUBY-314 initial implementation of replica set health checking via background thread 2011-08-24 18:34:00 -04:00
renctan
19c9cb778b Fixed thet timestamp serialization issues for 32bit machines. 2011-08-24 13:14:36 -04:00
Kyle Banker
9ea718522f RUBY-291 automate local replica set reads by ping time 2011-08-22 11:52:11 -04:00
Kyle Banker
3027e29f46 Simpify replica set connection code. 2011-08-16 16:47:07 -04:00
Karl Seguin
2557a575eb added node class 2011-08-12 16:40:09 -04:00
Kyle Banker
50ca353b05 RUBY-277 removed unnecessary include 2011-08-10 13:49:28 -04:00
Kyle Banker
0ce614a55e RUBY-277 remove dependencies on mongo gem from BSON tests. 2011-08-09 18:00:03 -04:00
Kyle Banker
61151a4f35 RUBY-278 minor: typo 2011-08-08 17:54:25 -04:00
Kyle Banker
a9b975eaaa RUBY-304 add Collection#capped? 2011-08-08 17:52:44 -04:00
Kyle Banker
a323911507 minor: fixed some failing tests 2011-08-08 16:05:56 -04:00
Kyle Banker
b32f895ed6 RUBY-288 ensure we cannot modify with add_option or remove_option after iteration starts. 2011-08-05 18:22:09 -04:00
Kyle Banker
1142c33910 RUBY-288 Cursor#remove_option 2011-08-05 18:15:48 -04:00
Kyle Banker
96b39313bf RUBY-267 Cursor#alive? 2011-08-05 17:54:38 -04:00
Kyle Banker
eecb1d35de Revert "RUBY-167 Cursor#alive?"
This reverts commit 91308cdc60.
Wrong JIRA Issue
2011-08-05 17:52:44 -04:00
Kyle Banker
91308cdc60 RUBY-167 Cursor#alive? 2011-08-05 17:51:37 -04:00
Kyle Banker
eca6653bc2 RUBY-281 make BSON::OrderedHash#inspect more precise. 2011-08-05 17:43:39 -04:00
Kyle Banker
28f0f7af3e RUBY-292 OrderedHash should hash with same value as Hash. 2011-08-05 17:27:44 -04:00
Kyle Banker
237dc98fbf RUBY-283 add_option for cursors. Deprecate Cursor#query_opts. 2011-08-05 11:52:45 -04:00
Kyle Banker
5950f6850f minor: timestamp test 2011-07-15 11:09:16 -04:00
Kyle Banker
e1463cdce2 Merge pull request #47 from karlseguin/master
Fix minor bug bug in batch_size when limit isn't set.
2011-07-11 06:45:44 -07:00
Kyle Banker
880f40bcaa Merge pull request #51 from bernerdschaefer/master
BSON test fixes
2011-07-11 06:44:18 -07:00
Bernerd Schaefer
7f906b44b4 Silence deprecation warnings from BSON tests 2011-07-08 13:54:01 +02:00
Bernerd Schaefer
d0ba797fd9 Use #object_id instead of #id in test 2011-07-08 13:38:43 +02:00
Bernerd Schaefer
ee198c7643 ObjectId#generate uses java.bson.types.ObjectId
Delegating ObjectId#generate when running under jruby to the java BSON
library halves the time needed to generate a new object id.
2011-06-29 14:49:53 +02:00
Kyle Banker
0821e16f92 minor: test 2011-06-22 12:06:20 -04:00
Kyle Banker
4f4e6ee833 RUBY-286 test replica set reconnect when adding a new node 2011-06-17 12:15:07 -04:00
Karl Seguin
7783cebfdf batch_size is taken into account when limit is 0/not set 2011-06-16 22:21:40 +08:00
Kyle Banker
fbf7b754ac RUBY-287 OrderedHash#replace 2011-06-15 16:25:20 -04:00
Kyle Banker
b0d5df72fa RUBY-269 RUBY-275 added connect_timeout option 2011-06-15 14:20:11 -04:00
Karl Seguin
50a54cdcc0 can drop an index using the same type of spec used to create an index 2011-05-31 19:52:50 +08:00
Peter Olsen
809dcf7e17 add test for ensure_index with drop_dups 2011-05-19 19:35:06 +00:00
Daniël van de Burgt
3cb1e4644b added failing test: reading chunks from an empty (zero-length) grid-stored file 2011-05-10 22:57:22 -05:00
Kyle Banker
b8ab13e7f9 Revert "RUBY-267 Cursor#alive?"
This reverts commit 05dfef2f11.
This adds new functionality and thus must wait for the 1.4 release.
2011-05-10 15:58:23 -04:00
Kyle Banker
05dfef2f11 RUBY-267 Cursor#alive? 2011-05-10 15:45:32 -04:00
Kyle Banker
f7e1feaeba minor: make DB#validate_collection compatible with server v1.8 and v1.9.1 2011-05-10 14:28:04 -04:00
Kyle Banker
604d0f60ed RUBY-261 Cursor#close hits secondary when appropriate. 2011-05-10 14:21:23 -04:00
Kyle Banker
cb54c6b295 minor: fix for format change is result for 1.9.1 'validate' command. 2011-05-09 14:43:39 -04:00
Kyle Banker
135bebd9ab RUBY-270 support 's' regex option.
Note: Ruby includes dotall 's' semantics on 'm' option.
2011-05-09 14:17:56 -04:00
Kyle Banker
0051b9446a RUBY-260 methods using DB#collection_names should account for symbols. 2011-05-09 12:28:07 -04:00
Ryan McGeary
c672168236 Fixed GridIO#gets to handle the end of a file
Neither a multi-character nor single-character separator search returned nil
after hitting the EOF.
2011-05-03 11:36:33 -04:00
Kyle Banker
ba1e4679fa Leave hash arguments unmodified. 2011-04-27 11:10:48 -04:00
Kyle Banker
9cc6bad613 Simplify GridIO#read_all 2011-04-26 07:48:16 -04:00
Kyle Banker
140dfa9f32 minor: fixes 2011-04-26 07:48:16 -04:00
Kyle Banker
af6552ed3c RUBY-265 semantics should == Hash#reject! 2011-04-15 16:19:00 -04:00
Kyle Banker
d0a4483713 RUBY-265 fix OrderedHash#reject! 2011-04-15 16:10:38 -04:00
Kyle Banker
9c30de332f minor: test fix 2011-04-15 10:58:37 -04:00
Kyle Banker
043590f9a3 minor: test replica set connect with reverse node order 2011-04-13 14:39:52 -04:00
Kyle Banker
3187761670 RUBY-258 Bytebuffer#unpack takes arbitrary format string 2011-04-01 13:36:28 -04:00
Kyle Banker
1d3ffe37c7 minor: test fix for server versions < 1.8 2011-03-29 17:02:48 -04:00
Kyle Banker
002ddb06fc RUBY-240 Add StringIO methods to GridIO 2011-03-29 15:27:13 -04:00
Kyle Banker
db1213fc5d RUBY-139 Use BSON binary subtype 0 by default 2011-03-29 12:25:48 -04:00
Kyle Banker
a6cc09e50c RUBY-236 more timeout tweaks and tests 2011-03-29 11:46:29 -04:00
Kyle Banker
017d252689 minor: test fix 2011-03-29 11:09:14 -04:00
Kyle Banker
025e56732e minor: test and doc fixes 2011-03-29 10:39:01 -04:00
Kyle Banker
05bf234bb8 RUBY-255 Support BSON Timestamp 2011-03-28 14:36:49 -04:00
Mauro Pompilio
baa1d0b802 Method *create_colletion* behaves the same way as *collection*
when options are passed.
2011-03-28 11:23:03 -04:00
Hongli Lai (Phusion)
6b4ca2461f Implement BSON::ByteBuffer#== 2011-03-28 11:16:54 -04:00
Hongli Lai (Phusion)
08daf9c5f9 Implement BSON::OrderedHash#dup 2011-03-28 11:16:46 -04:00
Kyle Banker
b48a2bd84f RUBY-253 fix UTF8 check for Ruby 1.9 2011-03-24 12:11:12 -04:00
Kyle Banker
272d4835a7 RUBY-252 RUBY-237 re-add Connection#host and Connection#port 2011-03-23 16:34:42 -04:00
Kyle Banker
2bfe205c51 Merged wpiekutowski's commits to enable warnings
on test suite and clean up some code.

Conflicts:
	test/cursor_test.rb
2011-03-23 16:02:04 -04:00
Kyle Banker
bd4731dd39 minor: test fix 2011-03-23 15:32:32 -04:00
John Nunemaker
53ad43fedc Added transformer concept.
Can be passed to find/find_one, which in turn is passed to cursor. It is an optional block that makes it easier to turn documents that are returned into hashes.

cursor = collection.find({...}, :transformer => Proc.new { |doc| User.load(doc) })
cursor.next # returns instance of User instead of ordered hash

This will allow MongoMapper, ToyStore and other object mappers to take better advantage of Cursors. No more calling to_a and mapping to instances.
2011-03-23 15:26:34 -04:00
Kyle Banker
5cdae46b56 RUBY-250 RUBY-231 Test fork safety 2011-03-17 22:38:21 -04:00
Kyle Banker
997d9b8ae2 RUBY-231 RUBY-250 Validate socket against pid 2011-03-17 22:15:14 -04:00
Kyle Banker
a8ce896c9f RUBY-245 Unique object id with timestamp 2011-03-15 16:40:27 -04:00
Kyle Banker
8df0ff23f5 RUBY-249 Alias Cursor#next for Cursor#next_document 2011-03-15 14:24:34 -04:00
Kyle Banker
2690520afa RUBY-248 Verify query speed after failover 2011-03-12 17:48:35 -05:00
Kyle Banker
2b7739a257 RUBY-244 issue serializing Time in array 2011-03-04 16:51:12 -05:00
Kyle Banker
e5338316c8 minor: text fix for JRuby 2011-03-04 16:42:39 -05:00
Mauro Pompilio
e64f91e013 Implementation of the 'ping' command. Probably better suited for the 'active?' method. 2011-03-04 10:51:18 -05:00
Mauro Pompilio
1ad3285767 Add a mechanism to check if the connection is active/healthy. 2011-03-03 10:17:47 -05:00
Kyle Banker
4f3937d6a4 Map-reduce doc update for v1.8 2011-02-23 14:43:23 -05:00
Mauro Pompilio
fa0a933780 Fix the exception message shown when there's an IOError
while closing a socket in the pool.
2011-02-23 12:43:20 -05:00
Kyle Banker
24cfde5ef6 Updated map-reduce tests and docs for v1.8 map-reduce options 2011-02-22 17:47:47 -05:00
Wojciech Piekutowski
c6491461bc Move helper methods away from tests setup to avoid redefinition on each test run 2011-02-20 17:32:32 +01:00
Wojciech Piekutowski
e5ef555f9f Fix failing test 2011-02-20 17:32:32 +01:00
Wojciech Piekutowski
a17a0a68af Remove test case name duplication 2011-02-20 17:32:32 +01:00
Wojciech Piekutowski
ccd7818024 Fix indentation 2011-02-20 17:27:55 +01:00
Wojciech Piekutowski
46af71fbfe Make cursor test unit names unique 2011-02-20 17:27:48 +01:00
Wojciech Piekutowski
4ea7a14608 Add parenthesis where Ruby thinks they're a good idea 2011-02-20 17:19:14 +01:00
Wojciech Piekutowski
80a44efb68 Prevent outer local variable shadowing 2011-02-20 17:18:08 +01:00
Wojciech Piekutowski
5dfac28dd4 Fix Mongo::Cursor#query_options_hash 2011-02-20 16:22:39 +01:00
Wojciech Piekutowski
2644d2b27d Mock and initialize logger 2011-02-20 16:04:01 +01:00
Wojciech Piekutowski
27046e2b3a Unify test_helper.rb loading code 2011-02-20 16:03:05 +01:00
Wojciech Piekutowski
6cdae6dc7e Move helper methods away from tests setup to avoid redefinition on each test run 2011-02-20 16:00:06 +01:00
Wojciech Piekutowski
479438469d Remove duplicated Hash#assert_valid_keys 2011-02-20 15:41:35 +01:00
Wojciech Piekutowski
ea180939fd Add parenthesis where Ruby thinks they're a good idea 2011-02-20 15:40:54 +01:00
Wojciech Piekutowski
08d99c08bb Fix indentation 2011-02-20 15:40:15 +01:00
Wojciech Piekutowski
3191aadd94 Silence Encoding.default_internal= warnings 2011-02-20 15:39:46 +01:00
Wojciech Piekutowski
979483fd1e Fix indentation 2011-02-20 15:39:09 +01:00
Wojciech Piekutowski
0f3fda805e Silence shoulda warnings 2011-02-20 15:38:21 +01:00
Wojciech Piekutowski
57d95c9ab3 Don't require 'complex' and 'rational' libs in Ruby 1.9 - they're in core already 2011-02-20 15:37:31 +01:00
Kyle Banker
ed44a7490c Improved replica set failover tests. A few
improved exception messages.
2011-02-15 16:48:29 -05:00
Kyle Banker
04033bf5a3 minor: rs test framework updates 2011-02-10 14:48:59 -05:00
Kyle Banker
4abf6b8875 tests with Unicorn and Thin for out-of-sync responses 2011-02-10 14:42:29 -05:00
Kyle Banker
76730d4a7c RUBY-233 show invalid key on invalid key exception 2011-02-04 12:07:28 -05:00
Kyle Banker
e8e617e95f Test for replica set authentication; bug fix. 2011-02-02 11:26:31 -05:00
Kyle Banker
5017646209 minor: test fix and cleanup 2011-01-31 15:53:38 -05:00
Steve Sloan
8a7296599b Refactored logging of DB operations to use Connection#instrument.
This allows for easy overriding, e.g. to ActiveSupport notifications.
2011-01-31 15:13:12 -05:00
Kyle Banker
7c4740c47c RUBY-232 handle authentication with connection pooling 2011-01-31 14:47:38 -05:00
Kyle Banker
ba38d1a5ab RUBY-230 minor: test fix for maxBsonObjectSize 2011-01-18 16:20:51 -05:00
Kyle Banker
fab538ed5e minor: alias #read_primary? with #primary? 2011-01-17 13:37:41 -05:00
Kyle Banker
2b835c0e48 RUBY-227 passwords in URIs can contain all
characters excepts commas now.
2011-01-17 11:05:24 -05:00
Kyle Banker
ba88f239de RUBY-222 update tests for new Collection#group API 2011-01-06 10:32:50 -05:00
Kyle Banker
bcb37e62c7 RUBY-222 BSON::Code must be a string. 2011-01-06 10:11:15 -05:00
Kyle Banker
65f59ba2d6 RUBY-222 Collection#group gets a new, reasonable API 2011-01-06 10:05:19 -05:00
Kyle Banker
af0ecde925 RUBY-204 Collection construct now has analogous API
to DB constructor (i.e., name comes first)
2011-01-05 09:44:46 -05:00
Kyle Banker
556d4aa271 Test for RUBY-188 2011-01-05 09:28:42 -05:00
Kyle Banker
ae202d590e RUBY-192; Updates for Collection#ensure_index 2011-01-03 16:16:24 -05:00
Kyle Banker
c0e972470e Fixed BSON_CODER.update_max_bson_size return value 2011-01-03 14:05:42 -05:00
Kyle Banker
49d7bb0883 minor: specify mapreduce output collection (required as of 1.7.5) 2010-12-30 15:43:35 -05:00
Kyle Banker
4e5b1a7d23 RUBY-205 RUBY-150 Support new connection URI options 2010-12-30 15:40:50 -05:00
Kyle Banker
9da68bb3db RUBY-189 use result of ismaster's maxBsonObjectSize 2010-12-29 18:06:31 -05:00
Kyle Banker
01c38eabdd Use retry instead of while loop for rescuing connection failure (quasor) 2010-12-29 13:13:54 -05:00