summaryrefslogtreecommitdiff
path: root/test/dialect/test_postgresql.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-02-17 20:43:17 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2011-02-17 20:43:17 -0500
commit74f26d2279dc730f0a8a8cc9a7824465dd465626 (patch)
treeca3ec0fdaafcfd4cdf2d748e68efb37648d42855 /test/dialect/test_postgresql.py
parent01cb94690d2d07431b2ff1b02577345c003be42b (diff)
downloadsqlalchemy-74f26d2279dc730f0a8a8cc9a7824465dd465626.tar.gz
- Fixed regression from 0.6 where SMALLINT and
BIGINT types would both generate SERIAL on an integer PK column, instead of SMALLINT and BIGSERIAL [ticket:2065]
Diffstat (limited to 'test/dialect/test_postgresql.py')
-rw-r--r--test/dialect/test_postgresql.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/dialect/test_postgresql.py b/test/dialect/test_postgresql.py
index 1c7d0b16a..149421404 100644
--- a/test/dialect/test_postgresql.py
+++ b/test/dialect/test_postgresql.py
@@ -1495,6 +1495,23 @@ class MiscTest(TestBase, AssertsExecutionResults, AssertsCompiledSQL):
: Numeric})
assert_raises(exc.InvalidRequestError, testing.db.execute, stmt)
+ def test_serial_integer(self):
+ for type_, expected in [
+ (Integer, 'SERIAL'),
+ (BigInteger, 'BIGSERIAL'),
+ (SmallInteger, 'SMALLINT'),
+ (postgresql.INTEGER, 'SERIAL'),
+ (postgresql.BIGINT, 'BIGSERIAL'),
+ ]:
+ m = MetaData()
+
+ t = Table('t', m, Column('c', type_, primary_key=True))
+ ddl_compiler = testing.db.dialect.ddl_compiler(testing.db.dialect, schema.CreateTable(t))
+ eq_(
+ ddl_compiler.get_column_specification(t.c.c),
+ "c %s NOT NULL" % expected
+ )
+
class TimezoneTest(TestBase):
"""Test timezone-aware datetimes.