]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- [bug] Added BIGINT, BINARY, VARBINARY to
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 13 Jun 2012 21:55:10 +0000 (17:55 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 13 Jun 2012 21:55:10 +0000 (17:55 -0400)
types.__all__, sqlalchemy namespaces,
plus tests to make sure new types
remain importable.
[ticket:2499]

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

diff --git a/CHANGES b/CHANGES
index 947395fd9216998ca810e973b4e3e9a819469914..517f5f55396e1c4a0b4872936a428fac02cb3953 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -308,8 +308,12 @@ CHANGES
     propagating the exception onward normally.
     also in 0.7.7.
 
-  - [bug] Add BINARY, VARBINARY to types.__all__,
-    [ticket:2474] Also in 0.7.7
+  - [bug] Added BIGINT, BINARY, VARBINARY to 
+    types.__all__, sqlalchemy namespaces,
+    plus tests to make sure new types 
+    remain importable.  [ticket:2474] 
+    also in 0.7.7, [ticket:2499] also 
+    in 0.7.8.
 
 - sqlite
   - [feature] the SQLite date and time types
index d8534dd4954b12fd87bf97cf4ca6234c0b5b55f7..08efee600d1cf33f37c391bd4eb62a019555f4a0 100644 (file)
@@ -48,6 +48,8 @@ from sqlalchemy.sql import (
     )
 
 from sqlalchemy.types import (
+    BIGINT,
+    BINARY,
     BLOB,
     BOOLEAN,
     BigInteger,
@@ -85,6 +87,7 @@ from sqlalchemy.types import (
     TypeDecorator,
     Unicode,
     UnicodeText,
+    VARBINARY,
     VARCHAR,
     )
 
index a45f769f6d0ff8ad0a8b4867c41710c665eb7719..6f30156dde646dc5486bd490dba4edacad9bae19 100644 (file)
@@ -14,7 +14,7 @@ For more information see the SQLAlchemy documentation on types.
 __all__ = [ 'TypeEngine', 'TypeDecorator', 'AbstractType', 'UserDefinedType',
             'INT', 'CHAR', 'VARCHAR', 'NCHAR', 'NVARCHAR','TEXT', 'Text',
             'FLOAT', 'NUMERIC', 'REAL', 'DECIMAL', 'TIMESTAMP', 'DATETIME', 
-            'CLOB', 'BLOB', 'BINARY', 'VARBINARY', 'BOOLEAN', 'SMALLINT',
+            'CLOB', 'BLOB', 'BINARY', 'VARBINARY', 'BOOLEAN', 'BIGINT', 'SMALLINT',
             'INTEGER', 'DATE', 'TIME', 'String', 'Integer', 'SmallInteger',
             'BigInteger', 'Numeric', 'Float', 'DateTime', 'Date', 'Time',
             'LargeBinary', 'Binary', 'Boolean', 'Unicode', 'Concatenable',
index 951e1551d8f31aec44a3bbcf8f7253b3fd6681b9..659c7f2ae3f6578e6a2fd44429407ad777ccc5b3 100644 (file)
@@ -29,20 +29,27 @@ class AdaptTest(fixtures.TestBase):
         return [d.base.dialect() for d in 
                 self._all_dialect_modules()]
 
-    def _all_types(self):
-        def types_for_mod(mod):
-            for key in dir(mod):
-                typ = getattr(mod, key)
-                if not isinstance(typ, type) or not issubclass(typ, types.TypeEngine):
-                    continue
-                yield typ
+    def _types_for_mod(self, mod):
+        for key in dir(mod):
+            typ = getattr(mod, key)
+            if not isinstance(typ, type) or not issubclass(typ, types.TypeEngine):
+                continue
+            yield typ
 
-        for typ in types_for_mod(types):
+    def _all_types(self):
+        for typ in self._types_for_mod(types):
             yield typ
         for dialect in self._all_dialect_modules():
-            for typ in types_for_mod(dialect):
+            for typ in self._types_for_mod(dialect):
                 yield typ
 
+    def test_uppercase_importable(self):
+        import sqlalchemy as sa
+        for typ in self._types_for_mod(types):
+            if typ.__name__ == typ.__name__.upper():
+                assert getattr(sa, typ.__name__) is typ
+                assert typ.__name__ in types.__all__
+
     def test_uppercase_rendering(self):
         """Test that uppercase types from types.py always render as their
         type.