]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fixed OrderedProperties pickling [ticket:762]
authorJason Kirtland <jek@discorporate.us>
Tue, 28 Aug 2007 15:17:26 +0000 (15:17 +0000)
committerJason Kirtland <jek@discorporate.us>
Tue, 28 Aug 2007 15:17:26 +0000 (15:17 +0000)
lib/sqlalchemy/util.py
test/engine/reflection.py

index 44ff3a2c5cebdc09d12bd76da9d075beca8d8f07..321540419f094e7a9104c02f0f1eb86d344d7eee 100644 (file)
@@ -275,10 +275,10 @@ class OrderedProperties(object):
         self._data[key] = object
 
     def __getstate__(self):
-        return self._data
+        return {'_data': self.__dict__['_data']}
     
-    def __setstate__(self, value):
-        self.__dict__['_data'] = value
+    def __setstate__(self, state):
+        self.__dict__['_data'] = state['_data']
 
     def __getattr__(self, key):
         try:
index 3bb1886227ac4ae4e726249696b82e724351a068..c70dc3f2eb833dbe100589cdba4bca2c14312863 100644 (file)
@@ -372,6 +372,7 @@ class ReflectionTest(PersistTest):
             meta.bind = testbase.db
             meta2 = pickle.loads(pickle.dumps(meta))
             assert meta2.bind is None
+            meta3 = pickle.loads(pickle.dumps(meta2))
             return (meta2.tables['mytable'], meta2.tables['othertable'])
 
         def test_pickle_via_reflect():