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