diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2012-12-11 01:10:01 +0000 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2012-12-11 01:10:45 +0000 |
commit | 6df6e6adfeaf553625a75a91b064d06a44b954e3 (patch) | |
tree | dc92d23a9008f1ea936053443cc5ae8088403665 /lib/extras.py | |
parent | 99bedd1bb2a89b0f7cbd8b175b3752fc150c99bf (diff) | |
download | psycopg2-6df6e6adfeaf553625a75a91b064d06a44b954e3.tar.gz |
Fixed pickling of DictRow objects too
Diffstat (limited to 'lib/extras.py')
-rw-r--r-- | lib/extras.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/extras.py b/lib/extras.py index 0c4df56..1924908 100644 --- a/lib/extras.py +++ b/lib/extras.py @@ -184,7 +184,14 @@ class DictRow(list): def __contains__(self, x): return x in self._index - # grop the crusty Py2 methods + def __getstate__(self): + return self[:], self._index.copy() + + def __setstate__(self, data): + self[:] = data[0] + self._index = data[1] + + # drop the crusty Py2 methods if sys.version_info[0] > 2: items = iteritems; del iteritems keys = iterkeys; del iterkeys |