summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-08-04 13:32:17 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-08-04 13:32:17 +0000
commit0027b3a4bc54599ac8102a4a3d81d8007738903e (patch)
tree5355294f6a81c5b413684dd371cc58c94bdcb5ab /test/sql
parentdc5a1c482ee1a8faf15fd81db866e5f72c1c719f (diff)
parentf684bb7659ff195d4c55414162c1de4fbfdafc2f (diff)
downloadsqlalchemy-0027b3a4bc54599ac8102a4a3d81d8007738903e.tar.gz
Merge "ensure RETURNING renders in stringify w/ no server version" into main
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_compiler.py15
-rw-r--r--test/sql/test_insert.py6
2 files changed, 19 insertions, 2 deletions
diff --git a/test/sql/test_compiler.py b/test/sql/test_compiler.py
index 930f32b7b..1d3d17326 100644
--- a/test/sql/test_compiler.py
+++ b/test/sql/test_compiler.py
@@ -4914,6 +4914,21 @@ class StringifySpecialTest(fixtures.TestBase):
stmt = table1.insert().values()
eq_ignore_whitespace(str(stmt), "INSERT INTO mytable () VALUES ()")
+ def test_insert_return_defaults(self):
+ t = Table(
+ "t",
+ MetaData(),
+ Column("myid", Integer, primary_key=True),
+ Column("name", String, server_default="some str"),
+ Column("description", String, default=func.lower("hi")),
+ )
+ stmt = t.insert().values().return_defaults()
+ eq_ignore_whitespace(
+ str(stmt),
+ "INSERT INTO t (description) VALUES (lower(:lower_1)) "
+ "RETURNING t.myid, t.name, t.description",
+ )
+
def test_multirow_insert(self):
stmt = table1.insert().values([{"myid": 1}, {"myid": 2}])
eq_ignore_whitespace(
diff --git a/test/sql/test_insert.py b/test/sql/test_insert.py
index 808b047a2..071f595f3 100644
--- a/test/sql/test_insert.py
+++ b/test/sql/test_insert.py
@@ -1542,7 +1542,9 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
)
stmt = table.insert().return_defaults().values(id=func.foobar())
- compiled = stmt.compile(dialect=sqlite.dialect(), column_keys=["data"])
+ dialect = sqlite.dialect()
+ dialect.insert_returning = False
+ compiled = stmt.compile(dialect=dialect, column_keys=["data"])
eq_(compiled.postfetch, [])
eq_(compiled.implicit_returning, [])
@@ -1551,7 +1553,7 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
"INSERT INTO sometable (id, data) VALUES " "(foobar(), ?)",
checkparams={"data": "foo"},
params={"data": "foo"},
- dialect=sqlite.dialect(),
+ dialect=dialect,
)
def test_sql_expression_pk_autoinc_returning(self):