diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-03-25 08:40:16 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-03-25 08:45:32 -0400 |
| commit | e3b09f65df5dd51f87515f115827dedba50e9dca (patch) | |
| tree | 23b5b19e2d7423289ff0b5ef2e91851084ec4802 /test/sql | |
| parent | 5682b9a24d4174f429204638ec90622b52035cdc (diff) | |
| download | sqlalchemy-e3b09f65df5dd51f87515f115827dedba50e9dca.tar.gz | |
Accept **kw in annotated._clone() method
Fixed bug where combinations of the new "relationship with criteria"
feature could fail in conjunction with features that make use of the new
"lambda SQL" feature, including loader strategies such as selectinload and
lazyload, for more complicated scenarios such as polymorphic loading.
Fixes: #6131
Change-Id: I915dead6596866ae5fd1a7f593a90bce4b61d1af
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_lambdas.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/sql/test_lambdas.py b/test/sql/test_lambdas.py index fcf024182..24a83c9ee 100644 --- a/test/sql/test_lambdas.py +++ b/test/sql/test_lambdas.py @@ -1453,6 +1453,17 @@ class LambdaElementTest( is_(expr1._generate_cache_key().bindparams[0], expr1._resolved.right) is_(expr2._generate_cache_key().bindparams[0], expr2._resolved.right) + def test_cache_key_bindparam_matches_annotations(self): + t1 = table("t1", column("q"), column("p")) + + def go(): + expr = sql_util._deep_annotate((t1.c.q == 5), {"foo": "bar"}) + stmt = coercions.expect(roles.WhereHavingRole, lambda: expr) + return stmt + + self.assert_compile(go(), "t1.q = :q_1", checkparams={"q_1": 5}) + self.assert_compile(go(), "t1.q = :q_1", checkparams={"q_1": 5}) + def test_cache_key_instance_variable_issue_incorrect(self): t1 = table("t1", column("q"), column("p")) |
