diff options
Diffstat (limited to 'test/sql/test_insert.py')
| -rw-r--r-- | test/sql/test_insert.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/sql/test_insert.py b/test/sql/test_insert.py index 2fa1860de..73731e952 100644 --- a/test/sql/test_insert.py +++ b/test/sql/test_insert.py @@ -1,7 +1,8 @@ #! coding:utf-8 from sqlalchemy import Column, Integer, MetaData, String, Table,\ - bindparam, exc, func, insert, select, column, text, table + bindparam, exc, func, insert, select, column, text, table,\ + Sequence from sqlalchemy.dialects import mysql, postgresql from sqlalchemy.engine import default from sqlalchemy.testing import AssertsCompiledSQL,\ @@ -238,6 +239,24 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL): checkparams={"name_1": "foo"} ) + def test_insert_from_select_seq(self): + m = MetaData() + + t1 = Table( + 't', m, + Column('id', Integer, Sequence('id_seq'), primary_key=True), + Column('data', String) + ) + + stmt = t1.insert().from_select(('data', ), select([t1.c.data])) + + self.assert_compile( + stmt, + "INSERT INTO t (data, id) SELECT t.data, " + "nextval('id_seq') AS next_value_1 FROM t", + dialect=postgresql.dialect() + ) + def test_insert_from_select_cte_one(self): table1 = self.tables.mytable |
