From: Mike Bayer Date: Tue, 8 Jun 2010 23:25:15 +0000 (-0400) Subject: - Fixed bug in Enum type which blew away native_enum X-Git-Tag: rel_0_6_2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85f9619b03e218d024b65e96a22293f356455521;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Fixed bug in Enum type which blew away native_enum flag when used with TypeDecorators or other adaption scenarios. --- diff --git a/CHANGES b/CHANGES index 2648510b70..bc6e0d57a2 100644 --- 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 diff --git a/lib/sqlalchemy/types.py b/lib/sqlalchemy/types.py index 9a9f2d1cdf..356ec2ecb7 100644 --- a/lib/sqlalchemy/types.py +++ b/lib/sqlalchemy/types.py @@ -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: diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 4e02d3db8d..23e1ebec6a 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -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,