summaryrefslogtreecommitdiff
path: root/test/orm
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-08-18 12:50:29 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-08-18 13:18:46 -0400
commitd39927ec20dd0b66f4ab3aab3e4e67b3814186ce (patch)
treef6de4962376a9c1d50073bfa8df9ec0507be3565 /test/orm
parent530d3f07e0c1e70e0f9b80d3b5986253e06dcaf2 (diff)
downloadsqlalchemy-d39927ec20dd0b66f4ab3aab3e4e67b3814186ce.tar.gz
- major simplification of _collect_update_commands. in particular,
we only call upon the history API fully for primary key columns. We also now skip the whole step of looking at PK columns and using any history at all if no net changes are detected on the object.
Diffstat (limited to 'test/orm')
-rw-r--r--test/orm/test_dynamic.py10
-rw-r--r--test/orm/test_unitofworkv2.py2
2 files changed, 7 insertions, 5 deletions
diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py
index bc47ba3f3..950ff1953 100644
--- a/test/orm/test_dynamic.py
+++ b/test/orm/test_dynamic.py
@@ -510,10 +510,6 @@ class UOWTest(
testing.db,
sess.flush,
CompiledSQL(
- "SELECT users.id AS users_id, users.name AS users_name "
- "FROM users WHERE users.id = :param_1",
- lambda ctx: [{"param_1": u1_id}]),
- CompiledSQL(
"SELECT addresses.id AS addresses_id, addresses.email_address "
"AS addresses_email_address FROM addresses "
"WHERE addresses.id = :param_1",
@@ -523,7 +519,11 @@ class UOWTest(
"UPDATE addresses SET user_id=:user_id WHERE addresses.id = "
":addresses_id",
lambda ctx: [{'addresses_id': a2_id, 'user_id': None}]
- )
+ ),
+ CompiledSQL(
+ "SELECT users.id AS users_id, users.name AS users_name "
+ "FROM users WHERE users.id = :param_1",
+ lambda ctx: [{"param_1": u1_id}]),
)
def test_rollback(self):
diff --git a/test/orm/test_unitofworkv2.py b/test/orm/test_unitofworkv2.py
index 122fe2514..374a77237 100644
--- a/test/orm/test_unitofworkv2.py
+++ b/test/orm/test_unitofworkv2.py
@@ -1277,6 +1277,8 @@ class RowswitchAccountingTest(fixtures.MappedTest):
old = attributes.get_history(p3, 'child')[2][0]
assert old in sess
+ # essentially no SQL should emit here,
+ # because we've replaced the row with another identical one
sess.flush()
assert p3.child._sa_instance_state.session_id == sess.hash_key