summaryrefslogtreecommitdiff
path: root/test/dialect/mysql/test_on_duplicate.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/dialect/mysql/test_on_duplicate.py')
-rw-r--r--test/dialect/mysql/test_on_duplicate.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/dialect/mysql/test_on_duplicate.py b/test/dialect/mysql/test_on_duplicate.py
index 65d5b8364..5a4e6ca8d 100644
--- a/test/dialect/mysql/test_on_duplicate.py
+++ b/test/dialect/mysql/test_on_duplicate.py
@@ -100,13 +100,19 @@ class OnDuplicateTest(fixtures.TablesTest):
conn.execute(insert(foos).values(dict(id=1, bar="b", baz="bz")))
stmt = insert(foos).values([dict(id=1, bar="ab"), dict(id=2, bar="b")])
stmt = stmt.on_duplicate_key_update(
- bar=func.concat(stmt.inserted.bar, "_foo")
+ bar=func.concat(stmt.inserted.bar, "_foo"),
+ baz=func.concat(stmt.inserted.bar, "_", foos.c.baz),
)
result = conn.execute(stmt)
eq_(result.inserted_primary_key, (None,))
eq_(
- conn.execute(foos.select().where(foos.c.id == 1)).fetchall(),
- [(1, "ab_foo", "bz", False)],
+ conn.execute(foos.select()).fetchall(),
+ [
+ # first entry triggers ON DUPLICATE
+ (1, "ab_foo", "ab_bz", False),
+ # second entry must be an insert
+ (2, "b", None, False),
+ ],
)
def test_on_duplicate_key_update_preserve_order(self, connection):