summaryrefslogtreecommitdiff
path: root/test/orm/test_update_delete.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-01-21 20:10:23 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-01-21 20:10:23 -0500
commit07fb90c6cc14de6d02cf4be592c57d56831f59f7 (patch)
tree050ef65db988559c60f7aa40f2d0bfe24947e548 /test/orm/test_update_delete.py
parent560fd1d5ed643a1b0f95296f3b840c1963bbe67f (diff)
parentee1f4d21037690ad996c5eacf7e1200e92f2fbaa (diff)
downloadsqlalchemy-ticket_2501.tar.gz
Merge branch 'master' into ticket_2501ticket_2501
Conflicts: lib/sqlalchemy/orm/mapper.py
Diffstat (limited to 'test/orm/test_update_delete.py')
-rw-r--r--test/orm/test_update_delete.py34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/orm/test_update_delete.py b/test/orm/test_update_delete.py
index 6915ac8a2..ac94fde2f 100644
--- a/test/orm/test_update_delete.py
+++ b/test/orm/test_update_delete.py
@@ -545,12 +545,14 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
def define_tables(cls, metadata):
Table('users', metadata,
Column('id', Integer, primary_key=True),
+ Column('samename', String(10)),
)
Table('documents', metadata,
Column('id', Integer, primary_key=True),
Column('user_id', None, ForeignKey('users.id')),
Column('title', String(32)),
- Column('flag', Boolean)
+ Column('flag', Boolean),
+ Column('samename', String(10)),
)
@classmethod
@@ -659,6 +661,34 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
])
)
+ @testing.only_on('mysql', 'Multi table update')
+ def test_update_from_multitable_same_names(self):
+ Document = self.classes.Document
+ User = self.classes.User
+
+ s = Session()
+
+ s.query(Document).\
+ filter(User.id == Document.user_id).\
+ filter(User.id == 2).update({
+ Document.samename: 'd_samename',
+ User.samename: 'u_samename'
+ }
+ )
+ eq_(
+ s.query(User.id, Document.samename, User.samename).
+ filter(User.id == Document.user_id).
+ order_by(User.id).all(),
+ [
+ (1, None, None),
+ (1, None, None),
+ (2, 'd_samename', 'u_samename'),
+ (2, 'd_samename', 'u_samename'),
+ (3, None, None),
+ (3, None, None),
+ ]
+ )
+
class ExpressionUpdateTest(fixtures.MappedTest):
@classmethod
def define_tables(cls, metadata):
@@ -786,3 +816,5 @@ class InheritTest(fixtures.DeclarativeMappedTest):
set(s.query(Person.name, Engineer.engineer_name)),
set([('e1', 'e1', ), ('e22', 'e55')])
)
+
+