]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Fixed bug in Enum type which blew away native_enum
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 8 Jun 2010 23:25:15 +0000 (19:25 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 8 Jun 2010 23:25:15 +0000 (19:25 -0400)
flag when used with TypeDecorators or other adaption
scenarios.

CHANGES
lib/sqlalchemy/types.py
test/sql/test_types.py

diff --git a/CHANGES b/CHANGES
index 2648510b70c9bc3f98b7dd9789446e3d4d354a9f..bc6e0d57a27da06134ae9f91124012b48ab6f41c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,13 @@
 =======
 CHANGES
 =======
+0.6.2
+=====
+- sql
+  - Fixed bug in Enum type which blew away native_enum
+    flag when used with TypeDecorators or other adaption
+    scenarios.
+    
 0.6.1
 =====
 - orm
index 9a9f2d1cdf85d47c80efc19a38d37593151d4bbe..356ec2ecb73bf9e58d5090145a2f751b3c9765e4 100644 (file)
@@ -1424,6 +1424,7 @@ class Enum(String, SchemaType):
                         schema=self.schema, 
                         metadata=self.metadata,
                         convert_unicode=self.convert_unicode,
+                        native_enum=self.native_enum,
                         *self.enums
                         )
         else:
index 4e02d3db8dc4c18f7e9afcd51bcc2a4bc967c6d7..23e1ebec6a228ca8c045837f0c28ebdce284c5cc 100644 (file)
@@ -562,7 +562,19 @@ class EnumTest(TestBase):
                 (3, 'one'),
             ]
         )
-
+    
+    def test_adapt(self):
+        from sqlalchemy.dialects.postgresql import ENUM
+        e1 = Enum('one','two','three', native_enum=False)
+        eq_(e1.adapt(ENUM).native_enum, False)
+        e1 = Enum('one','two','three', native_enum=True)
+        eq_(e1.adapt(ENUM).native_enum, True)
+        e1 = Enum('one','two','three', name='foo', schema='bar')
+        eq_(e1.adapt(ENUM).name, 'foo')
+        eq_(e1.adapt(ENUM).schema, 'bar')
+        
+        
+        
     @testing.fails_on('mysql+mysqldb', "MySQL seems to issue a 'data truncated' warning.")
     def test_constraint(self):
         assert_raises(exc.DBAPIError,