Kyle Banker
f668678fd1
Store sockets in thread-local variables when possible.
...
Allow connection pools to grow if needed. All this minimizes
the number of locks required and reduces the waiting time
for these locks.
2011-11-03 18:37:23 -04:00
Kyle Banker
0b33a48dd9
minor: clear accessors for defined methods
2011-11-03 11:21:00 -04:00
Kyle Banker
5b349e7175
Remove debug info.
2011-11-03 11:19:26 -04:00
Kyle Banker
68627cef3d
Replica Set test harness refactoring.
2011-11-03 11:17:36 -04:00
Kyle Banker
3e7c28e1ef
Add networking module.
2011-11-02 18:01:48 -04:00
Kyle Banker
a5373ddb83
Initial decoupling of Connection, ReplSetConnection,
...
and networking code.
2011-11-02 18:00:52 -04:00
Kyle Banker
3655a94934
Stop using 'sync' library. Don't trust it. Too complex.
2011-11-02 17:33:34 -04:00
Kyle Banker
1f068ce127
Cleanup for proxying to PoolManager.
2011-11-02 15:41:59 -04:00
Kyle Banker
f98c1099dc
Ensure we pass pool timeout to pool.
2011-11-02 15:21:46 -04:00
Kyle Banker
d171f75bb0
Don't copy manager data.
2011-11-02 15:16:40 -04:00
Kyle Banker
14593954fa
RUBY-352 Ensure commands are sent to primary.
2011-10-26 10:28:06 -04:00
Kyle Banker
9b6589e033
Auto-refresh will be disabled by default.
2011-10-26 10:26:50 -04:00
Kyle Banker
045a556e99
minor: test fix
2011-10-17 15:09:54 -05:00
Kyle Banker
ddb56a537f
BUMP 1.4.1
2011-10-17 14:55:21 -05:00
Kyle Banker
78dd5035d7
minor fix
2011-10-17 14:49:44 -05:00
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
b3c3206eeb
minor: formatting
2011-10-14 09:53:23 -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
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
118cb18c33
Removed a completely unnecessary mutex.
2011-10-07 12:13:18 -04:00
Kyle Banker
09c8a3838c
Fixed major bug where :refresh_mode == :async
2011-10-06 14:50:51 -04:00
Kyle Banker
8525f4ceac
Fixed major bug where :refresh_mode == :sync
2011-10-06 14:26:39 -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
Michael Glass
fd0e858021
MongoDB URI should allow db with no username or password.
2011-09-26 16:21:43 -04:00
Kyle Banker
4d41092aaa
BUMP 1.4.0
2011-09-19 12:05:10 -04:00
Kyle Banker
ec97cd6d53
RUBY-331 fix sort on Collection#map_reduce
2011-09-19 11:46:15 -04:00
Kyle Banker
63c91af1b1
minor fixes and doc updates. :sync is default refresh mode.
2011-09-15 18:44:02 -04:00
Kyle Banker
3e3f05813a
minor: cleanup and test fix
2011-09-15 17:46:59 -04:00
Kyle Banker
b910e3e635
Add synchronous refresh; fix connection leak.
2011-09-15 15:44:12 -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
a370f3abed
minor: ReplSetConnection#connected? will be eventaully consistent.
2011-09-13 10:44:27 -04:00
Kyle Banker
701bba8942
RUBY-306 added missing file
2011-09-11 12:08:26 -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
75ff1aa633
minor: doc fixes
2011-09-06 16:36:45 -04:00
Kyle Banker
7ac19f1bfa
minor: Cursor#next over Cursor#next_document
2011-09-06 16:23:55 -04:00
Kyle Banker
d44eb01da6
RUBY-304 minor: doc fix
2011-09-06 15:28:12 -04:00
Kyle Banker
50c38c6c6b
RUBY-284 document :read API
2011-09-06 14:58:03 -04:00
Kyle Banker
5d83ab2460
RUBY-313 minor: deprecation warning should include removal version.
2011-09-06 14:30:00 -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
1e951d6734
RUBY-316
2011-09-06 11:40:25 -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
Nandor Kracser
1b595316c6
use BSON::ObjectId rather than Mongo::ObjectId for return values in doc
2011-09-01 21:33:23 +02:00
Kyle Banker
e2178b0f1d
RUBY-322 nicer inspect methods
2011-09-01 11:42:56 -04:00
Kyle Banker
a916d3c8a2
minor: organization
2011-09-01 11:32:32 -04:00
Kyle Banker
fbeea87c47
Added some read preference tests; refactoring; nice Pool#inspect.
2011-08-31 17:34:06 -04:00
Kyle Banker
2ff4169a50
Remove unnecessary code.
2011-08-31 16:06:14 -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
3c31dc6acd
Disabled auto-refresh by default.
2011-08-30 16:17:05 -04:00
Kyle Banker
e8a5375cbf
minor: replica set test fixes
2011-08-30 16:16:47 -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
8c241cded7
RUBY-317
2011-08-29 11:22:55 -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
5559f91da2
RUBY-314 test for update when a node is removed
2011-08-25 18:52:20 -04:00
Kyle Banker
d999a5ba4d
RUBY-315 deprecate BSON.max_bson_size and BSON.update_max_bson_size.
2011-08-25 15:03:40 -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
0e227d5a39
minor: remove unused method
2011-08-25 11:34:24 -04:00
Kyle Banker
f3fbb98fa8
RUBY-314 replica set connection and test cleanup
2011-08-25 11:27:58 -04:00
Kyle Banker
1090dd3873
RUBY-314 initial implementation of replica set health checking via background thread
2011-08-24 18:34:00 -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
d552d603a8
RUBY-279 update to Java driver 2.6.5
2011-08-10 14:14:52 -04:00
Kyle Banker
82b103752e
RUBY-289 ensure that negative limit is logged
2011-08-08 18:31:30 -04:00
Kyle Banker
a9b975eaaa
RUBY-304 add Collection#capped?
2011-08-08 17:52:44 -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
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
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
Bernerd Schaefer
5572663d40
Cache hostname digest at load time
...
This brings pure-ruby BSON::ObjectId performance more in line with that
of the cbson extension.
2011-06-29 12:31:10 +02:00
Kyle Banker
20d916bf98
RUBY-287
2011-06-20 23:13:32 -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
3a602e1227
minor: Deprecate :timeout for :pool_timeout
2011-06-15 16:17:42 -04:00
Kyle Banker
b0d5df72fa
RUBY-269 RUBY-275 added connect_timeout option
2011-06-15 14:20:11 -04:00
Kyle Banker
fe423d05d6
Turns out that SystemTimer is not threadsafe.
2011-06-15 11:40:25 -04:00
Kyle Banker
13a53f2554
minor: removed unnecessary reference to @slave_okay
2011-06-15 11:31:10 -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
Kyle Banker
6992c6bb89
Pass show_disk_loc, max_key, and return_key from Collection#find
2011-05-25 13:33:33 -07:00
Kyle Banker
d8d929c647
Merge pull request #45 from datanoise/master
...
Fixes map_reduce call
2011-05-25 13:27:10 -07:00
Kyle Banker
408fbc1b72
Merge pull request #44 from pto/master
...
Allow drop_dups on ensure_index as well as on create_index
2011-05-25 13:26:50 -07:00
Kent Sibilev
03afd82000
deleting :raw option, otherwise map_reduce fails on the server
2011-05-22 21:17:08 -04:00
Peter Olsen
088b158ece
dropDups on ensure_index and remove docs on unimplemented find options
2011-05-19 19:14:38 +00:00
Michael Jackson
ad6edb0a9e
Moved Mongo::VERSION to its own file
...
You shouldn't need to require mongo.rb just to generate the gemspec.
2011-05-17 11:24:21 -07:00
Kyle Banker
98abe355fa
BUMP 1.3.1
2011-05-11 12:13:00 -04:00
Kyle Banker
aec396eb76
Merge pull request #42 from thatdutchguy/empty_chunks
...
fix: reading chunks from an empty (zero-length) grid-stored file
2011-05-11 09:06:38 -07:00
Kyle Banker
93d7e1512a
RUBY-272 ensure that JRuby deserializes binary type 2 properly.
2011-05-11 10:59:21 -04:00
Daniël van de Burgt
6e66b11f6e
fix: reading chunks from an empty (zero-length) grid-stored file
...
reading chunks from an empty file caused an endless loop
2011-05-10 22:58:50 -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
9a80fbaa66
RUBY-266 support maxscan, showDiskLoc, and returnKey
2011-05-10 15:40:06 -04:00
Kyle Banker
505bc68aab
minor: RUBY-257 note log_message is a no-op on Connection#receive_message.
2011-05-10 14:35:51 -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
Kyle Banker
74faed3f38
Merge pull request #41 from rmm5t/refactor_gets
...
Fix and refactoring for GridIO#gets.
2011-05-09 08:12:40 -07:00
Ryan McGeary
7f384ebd51
Refactored two code paths of GridIO#gets into well-named methods
2011-05-03 11:54:18 -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
Steve Randy Tantra
3a3a31a3dc
get_md5 should return @server_md5 when putting file in safe mode.
2011-05-02 01:55:54 +08:00
Ian Warshak
7c0843f29c
implement the yaml_initialize method
2011-04-28 17:32:32 -05:00
Kyle Banker
ba1e4679fa
Leave hash arguments unmodified.
2011-04-27 11:10:48 -04:00
Kyle Banker
8887402ca8
Don't modify hash arguments.
2011-04-26 07:48:17 -04:00
Kyle Banker
9cc6bad613
Simplify GridIO#read_all
2011-04-26 07:48:16 -04:00
Kyle Banker
e9195c83ad
Remove unused exception class.
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
bdb87c25ad
BUMP 1.3.0
2011-04-01 13:54:09 -04:00
Kyle Banker
3187761670
RUBY-258 Bytebuffer#unpack takes arbitrary format string
2011-04-01 13:36:28 -04:00
Kyle Banker
113eeb4254
minor: remove unused code in OrderedHash
2011-04-01 12:26:56 -04:00
Kyle Banker
c327a6036d
BUMP 1.3.0.rc0
2011-03-29 16:34:53 -04:00
Kyle Banker
6b9eef0d1f
RUBY-240 minor fix for RUBY 1.8
2011-03-29 16:01:46 -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
3509926071
Remove Connection#reset_connection (private) and deprecate
...
ReplSetConnection#reset_connection (public)
2011-03-29 12:18:58 -04:00
Kyle Banker
a6cc09e50c
RUBY-236 more timeout tweaks and tests
2011-03-29 11:46:29 -04:00
Kyle Banker
f3174550b7
RUBY-236 Create timeout block only when timeout is set
2011-03-29 11:06:46 -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
Kent Sibilev
c9da58965a
properly log sorting option
2011-03-28 11:18:14 -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
e49d50acc2
RUBY-236 set op_timeout for socket receive timeouts
2011-03-28 11:09:27 -04:00
Kyle Banker
b48a2bd84f
RUBY-253 fix UTF8 check for Ruby 1.9
2011-03-24 12:11:12 -04:00
Kyle Banker
1ab2f171c8
minor: doc fix
2011-03-23 17:36:03 -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
37f285bf0c
minor: docs
2011-03-23 15:30:27 -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
997d9b8ae2
RUBY-231 RUBY-250 Validate socket against pid
2011-03-17 22:15:14 -04:00