summaryrefslogtreecommitdiff
path: root/dev-python/sqlalchemy/files/0.9.7-test-fix.patch
blob: ca1809bb832daf0fd694c995a90c67d6809f8adf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 405c223ae50e78dacac08783c414619db20df0b7 Mon Sep 17 00:00:00 2001
From: Mike Bayer <mike_mp@zzzcomputing.com>
Date: Tue, 29 Jul 2014 13:32:05 -0400
Subject: [PATCH] - Fixed 0.9.7 regression caused by :ticket:`3067` in
 conjunction with a mis-named unit test such that so-called "schema" types
 like :class:`.Boolean` and :class:`.Enum` could no longer be pickled. fixes
 #3144

diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py
index 6114460..6cbf583 100644
--- a/lib/sqlalchemy/sql/elements.py
+++ b/lib/sqlalchemy/sql/elements.py
@@ -3276,6 +3276,9 @@ class _defer_name(_truncated_label):
         else:
             return super(_defer_name, cls).__new__(cls, value)
 
+    def __reduce__(self):
+        return self.__class__, (util.text_type(self), )
+
 
 class _defer_none_name(_defer_name):
     """indicate a 'deferred' name that was ultimately the value None."""
diff --git a/test/sql/test_types.py b/test/sql/test_types.py
index 03d3997..efa0f90 100644
--- a/test/sql/test_types.py
+++ b/test/sql/test_types.py
@@ -234,9 +234,9 @@ class TypeAffinityTest(fixtures.TestBase):
         assert t1.dialect_impl(d)._type_affinity is postgresql.UUID
 
 
-class PickleMetadataTest(fixtures.TestBase):
+class PickleTypesTest(fixtures.TestBase):
 
-    def testmeta(self):
+    def test_pickle_types(self):
         for loads, dumps in picklers():
             column_types = [
                 Column('Boo', Boolean()),