summaryrefslogtreecommitdiff
path: root/test/sql/test_insert.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql/test_insert.py')
-rw-r--r--test/sql/test_insert.py21
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