diff options
Diffstat (limited to 'lib/sqlalchemy/testing/suite/test_sequence.py')
-rw-r--r-- | lib/sqlalchemy/testing/suite/test_sequence.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/suite/test_sequence.py b/lib/sqlalchemy/testing/suite/test_sequence.py index b2d52f27c..f1c00de6b 100644 --- a/lib/sqlalchemy/testing/suite/test_sequence.py +++ b/lib/sqlalchemy/testing/suite/test_sequence.py @@ -3,7 +3,7 @@ from ..config import requirements from ..assertions import eq_ from ... import testing -from ... import Integer, String, Sequence, schema +from ... import Integer, String, Sequence, schema, MetaData from ..schema import Table, Column @@ -71,6 +71,28 @@ class SequenceTest(fixtures.TablesTest): ) +class SequenceCompilerTest(testing.AssertsCompiledSQL, fixtures.TestBase): + __requires__ = ('sequences',) + __backend__ = True + + def test_literal_binds_inline_compile(self): + table = Table( + 'x', MetaData(), + Column('y', Integer, Sequence('y_seq')), + Column('q', Integer)) + + stmt = table.insert().values(q=5) + + seq_nextval = testing.db.dialect.statement_compiler( + statement=None, dialect=testing.db.dialect).visit_sequence( + Sequence("y_seq")) + self.assert_compile( + stmt, + "INSERT INTO x (y, q) VALUES (%s, 5)" % (seq_nextval, ), + literal_binds=True, + dialect=testing.db.dialect) + + class HasSequenceTest(fixtures.TestBase): __requires__ = 'sequences', __backend__ = True |