Commit Graph

149 Commits

Author SHA1 Message Date
Mike Dirolf
fc08abcbfa make sure we fail fast on when we get a string that's not utf-8 2009-02-17 10:53:03 -05:00
Mike Dirolf
413851ddc0 reset on a 'not master' from lasterror 2009-02-12 17:38:29 -05:00
Mike Dirolf
146567764f reconnect on 'not master' errors 2009-02-12 17:31:39 -05:00
Mike Dirolf
bc1450d8af this error checking already gets performed in _refresh() 2009-02-12 17:25:23 -05:00
Mike Dirolf
813bedd352 doc for auto reconnection 2009-02-12 17:11:10 -05:00
Mike Dirolf
7059df8839 call reset for any kind of ConnectionFailure 2009-02-12 16:51:25 -05:00
Mike Dirolf
f751f6b0a4 basic auto reconnection 2009-02-12 16:36:33 -05:00
Mike Dirolf
8f56e2c227 use kwargs instead of options dict for pooling options 2009-02-12 15:20:41 -05:00
Mike Dirolf
c781322ad0 compatible with python 2.5 2009-02-12 13:06:26 -05:00
Mike Dirolf
23645597a6 outdated TODOs 2009-02-12 12:18:46 -05:00
Mike Dirolf
5f81ed4d72 initialize SON in the method body, not as a default argument (this bug caught me somewhere else at some point 2009-02-12 12:17:39 -05:00
Mike Dirolf
48275e70da test for a paired connection w/ connection pooling, some fixes 2009-02-12 12:17:39 -05:00
Mike Dirolf
802963df1a TODO. note about pooling w/ auth 2009-02-12 12:17:21 -05:00
Mike Dirolf
3e9395a48e documentation for start_request and end_request 2009-02-12 12:17:21 -05:00
Mike Dirolf
a18692b8b9 shuffle choices so that when auto_start_request is off we still distribute messages somewhat evenly 2009-02-12 12:17:21 -05:00
Mike Dirolf
35a34461b8 largely untested attempt at pooling as described on wiki. no auth support yet though 2009-02-12 12:17:21 -05:00
Mike Dirolf
ef429d86d4 add really basic test. revert to default pool_size of 1 2009-02-12 12:17:21 -05:00
Mike Dirolf
219b76f5e9 pooling. use same socket repeatedly for same thread. increment request_id atomically. 2009-02-12 12:16:54 -05:00
Mike Dirolf
ce93c21df4 push lock acquire and release down to connection. prepare for pooling by acquiring and releasing sockets individually 2009-02-12 11:37:50 -05:00
Mike Dirolf
dfb19383da test and fix for a find returning only specific fields 2009-02-10 14:39:36 -05:00
Mike Dirolf
4481dac627 use hard limit 2009-02-10 13:37:43 -05:00
Mike Dirolf
fe5cc78d9a outdated TODO 2009-02-10 10:43:18 -05:00
Mike Dirolf
a2ca040551 consolidate index document generation 2009-02-10 10:35:13 -05:00
Mike Dirolf
a6b77c347b minor changes to appease pychecker 2009-02-10 09:55:19 -05:00
Mike Dirolf
453cc617f5 no way this was working, so don't even try to auto-reconnect (for now) 2009-02-09 17:48:43 -05:00
Mike Dirolf
10f4e67d93 Python BSON decoder returns a plain dictionary instead of SON.
This matches the behavior of the C decoder (returning SON using the C
decoder is dramatically slower than returning a plain dict). This also hides
from the user the fact that BSON is ordered - internally we use SON when
needed (to make sure that _id is first, to make sure that command verbs are
first), but for user documents it shouldn't matter anyway.
2009-02-09 10:41:45 -05:00
Mike Dirolf
1008ec0583 add collection-level count() w/o having to do an empty find() first 2009-02-09 10:27:41 -05:00
Mike Dirolf
fc3ef96800 remove Mongo class.
this has been deprecated for some time, in favor of creating a Connection
instance and getting a Database instance from the connection. i'm removing
this before the release because i'd rather not have people get confused as
to why it is lying around.

the only real useful functionality left here that isn't recreated elsewhere
is auto-ref and auto-deref. this will probably get added back to the driver
as a SONManipulator at some point.
2009-02-09 10:10:03 -05:00
Mike Dirolf
eba390fd5e use hashlib instead of (deprecated) md5 module 2009-02-06 16:56:18 -05:00
Mike Dirolf
40afeaba27 subtype is unsigned, another test 2009-02-06 16:07:19 -05:00
Mike Dirolf
abbd6c0520 last of the leaks: encoding oids and dbrefs 2009-02-06 16:00:45 -05:00
Mike Dirolf
8ac859d8f0 encode re extra refs 2009-02-06 15:44:51 -05:00
Mike Dirolf
b713054689 decoding binary undecremented ref 2009-02-06 15:37:54 -05:00
Mike Dirolf
a15877f357 more reference count cleanup 2009-02-06 15:03:55 -05:00
Mike Dirolf
dbc05c7d23 think this cleans up all the leaks on the encoding side 2009-02-06 14:56:35 -05:00
Mike Dirolf
4e555bf5e6 more work on getting reference counts right 2009-02-06 14:37:13 -05:00
Mike Dirolf
3ffc1b5109 start patching leaks 2009-02-06 12:06:26 -05:00
Mike Dirolf
04e2fc00c9 make a better note of what is going on here 2009-02-06 10:57:42 -05:00
Mike Dirolf
4132b38704 possible leak 2009-02-06 10:53:53 -05:00
Mike Dirolf
0b5b331fb7 finish and enable C decoder 2009-02-05 17:08:44 -05:00
Mike Dirolf
fc8afb6f44 oid, datetime, and dbref C decoders 2009-02-05 16:43:10 -05:00
Mike Dirolf
1305da2624 c encoder for Binary 2009-02-05 16:09:14 -05:00
Mike Dirolf
e755e41df8 undefined -> None too 2009-02-05 15:48:08 -05:00
Mike Dirolf
8c5a5d256a array, object, and null C decoders 2009-02-05 15:44:25 -05:00
Mike Dirolf
4dfcf3e872 more accurate benchmarking by adding _to_dict helper 2009-02-05 15:43:43 -05:00
Mike Dirolf
1b535bbbb2 hide to_dicts as _to_dicts 2009-02-05 15:40:07 -05:00
Mike Dirolf
1ffd0773e5 Revert "hopefully faster way to create SON"
unnecessary.

This reverts commit d1e2980046.
2009-02-05 14:44:01 -05:00
Mike Dirolf
3e4527cf17 faster. and just generate a dict, not SON, at least for now. 2009-02-05 14:42:35 -05:00
Mike Dirolf
d1e2980046 hopefully faster way to create SON 2009-02-05 13:34:28 -05:00
Mike Dirolf
29a57d8884 towards a C bson decoder. it's actually slightly slower than the python one right now because of overhead from creating an ordered dict. WIP. 2009-02-05 13:20:50 -05:00